jac*_*cin 2 python bytecode python-3.x pyo
我写了一个简单的脚本test.py,包含:
print('hello')
Run Code Online (Sandbox Code Playgroud)
然后用python -O test.py它来运行它.我希望这能创建一个test.pyo文件,但事实并非如此.
我的版本是Python 3.5.2.为什么没有创建缓存文件?
Python仅为导入的模块创建字节码缓存文件.主脚本(此处test.py)未缓存.应用什么优化级别无关紧要.
进口 test:
$ python -O -c 'import test'
hello
$ ls __pycache__
test.cpython-35.opt-1.pyc
Run Code Online (Sandbox Code Playgroud)
请注意,缓存文件是在一个名为的单独目录中创建的,__pycache__文件名不仅基于模块名称,还基于Python版本和优化级别; 用-OO得到.opt-2.从Python 3.5开始,.pyo不再使用文件扩展名,请参阅PEP 488 - 删除PYO文件,并参阅PEP 3147 - PYC存储库目录,了解为何使用单独的目录.
如果要预编译模块,请使用该python3 -m compileall工具.
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |