Python中的pyc和pyo文件有什么区别?

8

我看到.pyc和.pyo文件都是编译的Python代码。它们之间有什么区别,我应该何时使用其中之一?


2
pyC: C编译,pyO: O优化,如果您记不住。 - michaelmeyer
2个回答

13

.pyc文件是由解释器编译成字节码的Python文件。当一个文件被导入时,它们通常会被生成。

.pyo是经过优化处理的编译字节码,不包含行号、断言和其他一些内容(可能包括文档字符串)。

在调用Python解释器时,您可以传递-O-OO选项来生成一个.pyo文件。使用-O将去除行号、断言和一些调试信息。-OO将生成一个剥离了文档字符串的.pyo文件。


我已经搜索了很久,想找出.pyo和.pyc文件之间的区别。 - tarabyte

2

.pyo.pyc的区别在于.pyo是经过优化的,这意味着您将无法使用某些功能,如docstrings。而.pyc则是完整的,没有任何限制。


.pyo files will contain docstrings if created with -O, they will not have docstrings when using -OO - Ryan Haining

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接