我知道在其他python脚本中导入Python脚本时,会创建一个.pyc脚本。有没有其他方法可以使用linux bash终端创建.pyc文件?
答案 0 :(得分:8)
使用以下命令:
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文件。您可以将文件名作为命令行参数
答案 1 :(得分:5)
您可以使用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.py 中的if __name__ == '__main__':
块。