首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python文件扩展名.pyc .pyd .pyo代表什么?

python文件扩展名.pyc .pyd .pyo代表什么?
EN

Stack Overflow用户
提问于 2012-01-11 23:54:56
回答 2查看 321.1K关注 0票数 463

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

  • .pyc
  • .pyd
  • .pyo

它们之间有什么区别?它们是如何从*.py文件中生成的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-11 23:57:58

这通常是你已经编译过的输入源代码,这是编译后的字节码。,written.

  • .pyc:,
  1. .py:,written.
  2. .pyc:。如果您导入一个模块,python将构建一个包含字节码的*.pyc文件,以便于以后再次导入( faster).
  3. .pyo:这是Python3.5之前用于使用优化(-O)标志创建的*.pyc文件的一种文件格式。(参见注释below)
  4. .pyd:这基本上是一个windows dll文件。http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll

另外,有关.pyc.pyo的进一步讨论,请查看:http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html (我复制了下面的重要部分)

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

备注:

2015年9月15日,Python 3.5 release实施了PEP488并删除了.pyo文件。这意味着.pyc文件同时表示未优化和优化的字节码。

票数 516
EN

Stack Overflow用户

发布于 2013-08-03 20:12:12

  • .py -常规script
  • .py3 -(很少使用) Python3脚本。Python脚本通常以“pyc”结尾,而不是“Python”,但我看到一些times
  • .pyc编译的脚本(Bytecode)
  • .pyo优化的pyc文件(从Python3.5开始,Python将只使用pyc而不是pyo和pyc)
  • .pyw -.py3脚本在窗口模式下运行,没有控制台;使用pythonw.exe
  • .pyx - Cython src执行,转换为C/C++
  • .pyd - Python脚本,作为DLL
  • .pxd - Cython脚本,相当于C/C++ header
  • .pxi - Stub stub
  • .pyi -Stub文件(PEP 484)
  • .pyz - Python脚本存档(PEP 441);这是一个包含标准Python脚本header
  • .pycod之后的二进制形式的压缩Python脚本(PEP 441);这是一个包含标准Python脚本header
  • .pycod之后的二进制形式的压缩Python脚本(PEP 441)- ".gitignore“中的通配符表示法,这意味着该文件可以是".pyc”、".pyo“或".pyd".
  • .pth -一个路径配置文件;它的内容是要添加到sys.path的附加项(每行一个)。请参阅

中的site模块

http://dcjtech.info/topic/python-file-extensions/上可以找到其他Python文件扩展名的更大列表(大多数是罕见的和非官方的

票数 246
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8822335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档