出于某种原因,我不能依赖Python的"import"语句来自动生成.pyc文件
有没有办法实现如下功能?
def py_to_pyc(py_filepath, pyc_filepath):
...
Run Code Online (Sandbox Code Playgroud)
Mar*_*agh 225
您可以在终端中使用compileall.以下命令将递归进入子目录,并为它找到的所有python文件生成pyc文件.该compileall模块是Python标准库的一部分,所以你不需要安装任何额外的使用它.这与python2和python3完全相同.
python -m compileall .
Run Code Online (Sandbox Code Playgroud)
der*_*end 52
您可以使用以下命令从命令行编译单个文件:
python -m compileall <file_1>.py <file_n>.py
Run Code Online (Sandbox Code Playgroud)
Mik*_*ley 50
自从我上次使用Python以来已经有一段时间了,但我相信你可以使用py_compile:
import py_compile
py_compile.compile("file.py")
Run Code Online (Sandbox Code Playgroud)
Abh*_*yap 44
我发现了几种将python脚本编译成字节码的方法
使用py_compile:
python -m py_compile File1.py File2.py File3.py ...
Run Code Online (Sandbox Code Playgroud)使用-m:
它一次编译几个文件.
python -m py_compile -
File1.py
File2.py
File3.py
.
.
.
Run Code Online (Sandbox Code Playgroud)
只要您愿意,列表就可以增长.或者,您显然可以在命令行参数中传递main或even文件名中的文件列表.
或者,如果你传入py_compile.compilemain,那么它可以交互式编译文件.
py_compile.main()在终端中使用:
import py_compile
py_compile.compile('YourFileName.py')
Run Code Online (Sandbox Code Playgroud)
['-'] 指定要编译的模块名称.
或者,用于交互式编译文件
import py_compile
py_compile.main(['File1.py','File2.py','File3.py'])
Run Code Online (Sandbox Code Playgroud)使用compileall.compile_dir():
import compileall
compileall.compile_dir(direname)
Run Code Online (Sandbox Code Playgroud)
它编译提供的目录中存在的每个Python文件.
使用compileall.compile_file():
import compileall
compileall.compile_file('YourFileName.py')
Run Code Online (Sandbox Code Playgroud)看看下面的链接:
https://docs.python.org/3/library/py_compile.html
https://docs.python.org/3/library/compileall.html
Pek*_*rck 17
我会用compileall.它从脚本和命令行都很好地工作.它比已经提到的内部使用的py_compile更高级别的模块/工具.
Ben*_*ari 10
python -m compileall <pythonic-project-name>
Run Code Online (Sandbox Code Playgroud)
它将所有.py文件编译为.pyc包含包和模块的项目中的文件。
python3 -m compileall <pythonic-project-name>
Run Code Online (Sandbox Code Playgroud)
它将所有.py文件编译到__pycache__包含包和模块的项目中的文件夹。
或者从这篇文章中褐变:
您可以
.pyc使用以下命令在文件夹中强制执行与Python2 中相同的文件布局:
python3 -m compileall -b <pythonic-project-name>该选项
-b触发.pyc文件输出到它们的旧位置(即与 Python2 中的相同)。
| 归档时间: |
|
| 查看次数: |
162056 次 |
| 最近记录: |