What is the difference between .py and .pyc files?
我注意到,当运行一些同名的.py文件时,会自动生成.pyc文件。.py和.pyc文件有什么区别?
此外,我还发现,.pyc文件放在周围会使空间变得杂乱无章。应该删除.pyc文件吗?或者有没有好处和/或必要让他们在身边?
更新:以下是与我的问题相关的2个已回答问题
如果解释了python,那么.pyc文件是什么?
为什么主要的可运行的python脚本不能编译成类似模块的pyc文件?
这个问题不是重复的
原因1:因为我在问这两个文件有什么区别。S.lott发现了一个名为"如果解释了python,那么.pyc文件是什么?"不是在问.py和.pyc文件有什么区别。它在问.pyc文件是什么。
原因2:因为我的第二个问题"应该删除一个.pyc文件吗?"或者有没有好处和/或必要让他们在身边?提供更多关于.pyc文件以及如何处理它们的信息。
原因3:因为当像我这样的初学者希望了解.py和.pyc文件之间的区别时?他们会很容易找到答案,因为他们会直接被引导到我的问题上。这有助于缩短搜索时间,因为问题是对的。
- 有一个关于这个领域的讨论:stackoverflow.com/questions/3878479/…
- 它在询问.pyc文件是什么,"听起来确实有足够的信息来推断.py和.pyc文件之间的区别。"除非,有一些关于.py文件的东西让人困惑。
- @S.lott你有一个观点,但是我仍然觉得有人在那里学习python,他们会像我一样表达这个问题。在这种情况下,我的问题将成为一个灯塔,引导他们找到答案要比解决问题容易得多。
- "我的问题将成为引导他们找到答案的灯塔"。已经存在于另一个问题中的答案?为什么不把所有相关的问题都读出来,把所有相关的问题都包括在你的问题里?以及为什么你的问题与现有问题不同的一些原因。我看不出这些微妙之处。只有你能澄清使你的问题独特的细微差别。
- 只是说我是一个新的Python程序员。我喜欢Python,因为它周围有一个友好的社区,这使它非常棒,每个人都在贡献模块,使它变得更容易。在教程和论坛中有很多帮助。所以总是有很多评论说"这是一个副本",但我没有找到副本,我在谷歌的第一页找到了什么。对于一个忙于完成工作而不关心搜索每一个语义的大学生来说,这就是它的工作原理。所以对于那些张贴标题更好的副本的人…谢谢您!!!!
- .pyc包含python源文件的编译字节码。此站点将编译后的python字节代码转换回有效的、人类可读的python源代码:javaedcompilers.com/pyc
- @幽门螺杆菌谢谢你努力反驳一些荒谬的重复声明
.pyc包含python源文件的编译字节码。python解释器在.py文件之前加载.pyc文件,因此如果存在这些文件,则不必重新编译python源代码,可以节省一些时间。如果你愿意的话,你可以把它们处理掉,但是它们不会引起问题,也不会太大,而且它们在运行程序时可以节省一些时间。
- "在运行程序时,它们可能会节省一些时间。"如果这里有错,请检查文档(doc s.python.org/tutorial/modules.html):"从.pyc或.pyo文件读取程序的运行速度不会比从.py文件读取程序的运行速度快;唯一比.pyc或.pyo文件更快的是加载速度。"
- @TZZZZ:是的,但是加载时间会影响总的执行速度,特别是对于较小的程序来说,在这些程序中,加载/编译源代码的时间比例更高。
- 是的,当你说"运行程序时节省一些时间"时,我可能会想你说的是运行时间,因为可以节省的是加载时间,但基本上就像你说的那样,它会节省时间,比如说"一般":)。
- 另外,pyc独立于py工作,一旦编译为bytocode,就不需要py源代码。
- 如果更新了.py文件,但未删除或重新编译.pyc文件,那么将运行哪个版本?
python编译.py并将文件保存为.pyc以便在随后的调用中引用它们。
删除它们没有什么坏处,但是如果您进行大量处理,它们将节省编译时间。
- 如果对.py文件进行更改,python如何知道读取.pyc文件而不是.py文件?只是日期修改检查?还是更高级?
- @迈克尔布特勒直线时间戳检查。
从".pyc"或".pyo"文件读取程序的运行速度不会比从".py"文件读取程序的运行速度快;唯一比".pyc"或".pyo"文件更快的是加载速度。
http://docs.python.org/release/1.5.1p1/tut/node43.html网站