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

  • pyc先生
  • pyd先生
  • 毕先生

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

推荐答案

  1. .py:这通常是您编写的输入源代码.
  2. .pyc:这是编译后的字节码.如果导入一个模块,python将构建一个包含字节码的*.pyc文件,以便以后更容易(更快)再次导入.
  3. .pyo:这是Python3.5之前使用优化(-O)标志创建的*.pyc个文件的文件格式.(请参阅下面的注释)
  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文件被编译成优化的字节码.
  • 将2-O标志传递给Python解释器(-OO)将导致字节码编译器执行优化,这些优化在极少数情况下可能会导致程序出现故障.目前只从字节码中删除了__doc__个字符串,从而生成了更紧凑的".pyo"文件.由于某些程序可能依赖于这些可用选项,因此只有在您知道自己在做什么的情况下才应该使用此选项.
  • 一个程序从一个数据库读取时,运行速度不会更快.pyc"或".pyo'文件,而不是从文件中读取.py’文件;唯一能让你更快的是.pyc"或".pyo'文件是加载它们的速度.
  • 当通过在命令行中指定脚本名称来运行脚本时,脚本的字节码永远不会写入".pyc"或".pyo"文件.因此,通过将脚本的大部分代码移到模块并使用一个导入该模块的小型 bootstrap 脚本,可以减少脚本的启动时间.也可以在命令行上直接命名".pyc"或".pyo"文件.

Note:

2015年9月15日,Python 3.5 release家公司实施了PEP-488,删除了.pyo个文件.

Python相关问答推荐

自动编码器和极坐标

如何判断. text文件中的某个字符,然后读取该行

Django文件上传不起作用:文件未出现在媒体目录或数据库中

pandas DataFrame中类型转换混乱

在Python中为变量的缺失值创建虚拟值

无法使用equals_html从网址获取全文

比较两个二元组列表,NP.isin

如何才能知道Python中2列表中的巧合.顺序很重要,但当1个失败时,其余的不应该失败或是0巧合

运行总计基于多列pandas的分组和总和

如何使用LangChain和AzureOpenAI在Python中解决AttribeHelp和BadPressMessage错误?

pandas:排序多级列

driver. find_element无法通过class_name找到元素'""

转换为浮点,pandas字符串列,混合千和十进制分隔符

无论输入分辨率如何,稳定扩散管道始终输出512 * 512张图像

重置PD帧中的值

找到相对于列表索引的当前最大值列表""

交替字符串位置的正则表达式

基于多个数组的多个条件将值添加到numpy数组

巨 Python :逆向猜谜游戏

Python日志(log)模块如何在将消息发送到父日志(log)记录器之前向消息添加类实例变量