我知道当 Python 脚本在其他 python 脚本中导入时,会创建一个 .pyc 脚本。有没有其他方法可以使用 linux bash 终端创建 .pyc 文件?
问问题
20606 次
2 回答
9
使用以下命令:
python -m compileall <your_script.py>
这将your_script.pyc
在同一目录中创建文件。
您也可以将目录传递为:
python -m compileall <directory>
这将为目录中的所有 .py 文件创建 .pyc 文件
另一种方法是创建另一个脚本
import py_compile
py_compile.compile("your_script.py")
它还创建 your_script.pyc 文件。您可以将文件名作为命令行参数
于 2015-09-15T06:12:06.113 回答
7
您可以使用该py_compile
模块。从命令行(-m
选项)运行它:
当此模块作为脚本运行时,main()用于编译命令行上命名的所有文件。
例子:
$ tree
.
└── script.py
0 directories, 1 file
$ python3 -mpy_compile script.py
$ tree
.
├── __pycache__
│ └── script.cpython-34.pyc
└── script.py
1 directory, 2 files
compileall
提供类似的功能,使用它你会做类似的事情
$ python3 -m compileall ...
...
要编译的文件或包含源文件的目录在哪里,递归遍历。
另一种选择是导入模块:
$ tree
.
├── module.py
├── __pycache__
│ └── script.cpython-34.pyc
└── script.py
1 directory, 3 files
$ python3 -c 'import module'
$ tree
.
├── module.py
├── __pycache__
│ ├── module.cpython-34.pyc
│ └── script.cpython-34.pyc
└── script.py
1 directory, 4 files
-c 'import module'
与 不同-m module
,因为前者不会执行module.pyif __name__ == '__main__':
中的块。
于 2015-09-15T05:48:03.217 回答