我看到.pyc和.pyo文件都是编译的Python代码。它们之间有什么区别,我应该何时使用其中之一?
我看到.pyc和.pyo文件都是编译的Python代码。它们之间有什么区别,我应该何时使用其中之一?
.pyc
文件是由解释器编译成字节码的Python文件。当一个文件被导入时,它们通常会被生成。
.pyo
是经过优化处理的编译字节码,不包含行号、断言和其他一些内容(可能包括文档字符串)。
在调用Python解释器时,您可以传递-O
或-OO
选项来生成一个.pyo
文件。使用-O
将去除行号、断言和一些调试信息。-OO
将生成一个剥离了文档字符串的.pyo
文件。
.pyo
和.pyc
的区别在于.pyo
是经过优化的,这意味着您将无法使用某些功能,如docstrings。而.pyc
则是完整的,没有任何限制。
.pyo
files will contain docstrings if created with -O
, they will not have docstrings when using -OO
- Ryan Haining