9

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

4

2 回答 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 回答