.py和.pyc文件有什么区别?

134 投票
3 回答
152904 浏览
提问于 2025-04-16 05:23

我注意到,当运行某个同名的 .py 文件时,会自动生成 .pyc 文件。这两个文件有什么区别呢?

另外,我发现 .pyc 文件在电脑上占了不少空间,感觉有点乱。那我应该删除这些 .pyc 文件吗?还是说保留它们有什么好处或者必要性呢?

更新:这里有两个和我问题相关的已回答问题

如果Python是解释型的,那 .pyc 文件是什么?

为什么主运行的Python脚本不像模块那样编译成 .pyc 文件?

这个问题不是重复的

理由1:因为我在问这两个文件之间的区别。S.Lott找到的问题“如果Python是解释型的,那 .pyc 文件是什么?”并没有问 .py.pyc 文件的区别,而是在问 .pyc 文件是什么。

理由2:因为我还有一个附加问题“应该删除 .pyc 文件吗?还是保留它们有什么好处或必要性?”这提供了更多关于 .pyc 文件的信息,以及应该如何处理它们。

理由3:因为像我这样的初学者Python程序员想知道 .py.pyc 文件有什么区别? 时,可以很容易找到答案,因为我的问题直接指向了这一点。这有助于减少搜索时间,因为问题非常明确。

3 个回答

12

一个程序从“.pyc”或“.pyo”文件运行并不会比从“.py”文件运行得更快;唯一快的地方是“.pyc”或“.pyo”文件加载的速度更快。

http://docs.python.org/release/1.5.1p1/tut/node43.html

18

Python会把.py文件编译成.pyc文件,并保存起来,这样在后续运行时可以更快地调用这些文件。

删除这些.pyc文件是没问题的,但如果你需要频繁处理很多数据,它们可以帮你节省一些编译的时间。

89

.pyc 文件是 Python 源代码文件编译后的字节码。Python 解释器在加载 .py 文件之前,会先加载 .pyc 文件。如果有 .pyc 文件,解释器就可以省去重新编译源代码的时间。你可以选择删除这些文件,但它们不会造成任何问题,文件也不大,而且在运行程序时可能会节省一些时间。

撰写回答