ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

编译python源码

2022-01-23 16:34:32  阅读:167  来源: 互联网

标签:文件 python py compile 编译 源码 test pyc


文件类型

  • py 源文件
  • pyc 编译后的文件
  • pyo 优化编译后的文件,可以通过python --help查看-O和-OO了解细节
  • pyw GUI模式下源码,调用pythonw.exe执行,如果程序不需要控制台窗口,可以新建一个pyw文件用于调用主pyc程序。pyw中只需要导入pyc程序即可。
  • pyd python库

pyc和pyd的区别?

        pyc是解释器生成的字节码文件,pyd是优化后的字节码文件,相比pyc,去掉了行号,断言,文档字符串等。

如何生成pyc

测试版本:python 2.7.5

测试系统:centos 7.9 1908

测试脚本test.py内容

print("test")

执行结果

python test.py
#没有任何文件生成
python -m py_compile test.py
#生成pyc文件
python  -O test.py 或者python -OO test.py
#没有任何文件生成
python  -O -m py_compile test.py
#生成pyo文件
python  -OO -m py_compile test.py
#生成pyo文件

其它编译方式

import py_compile
py_compile.compile("D:\\test.py")
import compileall
compileall.compile_dir(dirpath)
#dirpath可以是绝对目录,也可以是相对目录
python -m compileall  $dir
#编译dir目录下的文件

其它注意事项:

从python3.5开始,__pycache__目录下,就不会再有.pyo文件了 

取而代之的是:

python3 -O -m py_compile test.py
python3 -OO -m py_compile test.py
#结果
test.cpython-36.opt-1.pyc
test.cpython-36.opt-2.pyc

标签:文件,python,py,compile,编译,源码,test,pyc
来源: https://blog.csdn.net/juxua_xatu/article/details/122652075

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有