如何从 Python 脚本制作 .pyc 文件

How to make a .pyc file from Python script

我知道当 Python 脚本导入其他 python 脚本时,会创建一个 .pyc 脚本。有没有其他方法可以使用 linux bash 终端创建 .pyc 文件?

您可以使用 py_compile 模块。 运行 从命令行(-m 选项):

When this module is run as a script, the main() is used to compile all the files named on the command line.

示例:

$ 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__':块。

使用以下命令:

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 文件。您可以将文件名作为命令行参数