python文件扩展名是什么?PYC。PYD。代表什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (716)

这些python文件扩展名是什么意思?

  • .pyc
  • .pyd
  • .pyo

它们之间的区别是什么,以及它们是如何从*.Py文件生成的?

提问于
用户回答回答于
  1. .py:这通常是您编写的输入源代码。
  2. .pyc:这是编译好的字节码。如果您导入一个模块,python将生成一个*.pyc包含字节码的文件,以便以后再次导入它更容易(也更快)。
  3. .pyo:这是在优化(-O)时创建的*.pyc文件。
  4. .pyd:这基本上是一个Windows DLL文件。http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll

也可以进一步讨论.pycvs.pyo,请看一看:http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html(我抄写了下面重要的部分)

  • 当使用-O标志调用Python解释器时,将生成优化的代码并将其存储在‘.pyo’文件中。优化器目前没有多大帮助;它只删除ASSERT语句。当使用-O时,所有字节码都被优化;PYC文件被忽略。Py文件被编译成优化的字节码。
  • 将两个-O标志传递给Python解释器(-OO)将导致字节码编译器执行优化,在一些罕见的情况下,这些优化可能导致程序出现故障。目前只__doc__字符串从字节码中删除,从而产生更紧凑的“.pyo”文件。因为有些程序可能依赖于这些可用的,所以只有当您知道自己正在做什么时,才应该使用此选项。
  • 程序从“.pyc”或“.pyo”文件读取的速度不会比从“.py”文件读取时运行得更快;“.pyc”或“.pyo”文件的唯一速度是加载它们的速度。
  • 当脚本通过在命令行上给出其名称而运行时,脚本的字节码永远不会被写入“.pyc”或“.pyo”文件。因此,可以通过将脚本的大部分代码移动到模块,并拥有一个导入该模块的小引导脚本来缩短脚本的启动时间。还可以在命令行上直接命名“.pyc”或“.pyo”文件。
用户回答回答于

.py-定期脚本

.py3-(很少使用)Python3脚本。Python3脚本通常以“.py”而不是“.py3”结尾,但是我已经见过几次了

.pyc-编译脚本(字节码)

.pyo-优化的pyc文件(从Python3.5开始,Python将只使用PYC而不是pyo和pyc)

.pyw-用于Windows的Python脚本。它是由pythonw.exe执行的

.pyx-Cython src将转换为C/C++

.pyd-Python脚本作为一个Windows DLL

.pxd-Cython脚本,相当于C/C++头文件

.pxi-MyPy存根

.pyi-存根文件(PEP 484)

.pyz-Python脚本存档(PEP 441);这是在标准的Python脚本头之后以二进制形式包含压缩Python脚本(ZIP)的脚本

.pywz-用于MS-Windows的Python脚本存档(PEP 441);这是在标准的Python脚本头之后以二进制形式包含压缩Python脚本(ZIP)的脚本

.py[cod]-“.gitignore”中的通配符,这意味着文件可能是“.pyc”、“.pyo”或“.pyd”

可以在http://dcjtech.info/title/python-file-extensions/上找到一个更大的附加Python文件扩展列表(通常是罕见的和非官方的)

扫码关注云+社区

领取腾讯云代金券