Mik*_*lMC 8 python terminal pyc
我知道当Python脚本在其他python脚本中导入时,会创建一个.pyc脚本.有没有其他方法可以使用linux bash终端创建.pyc文件?
使用以下命令:
python -m compileall <your_script.py>
Run Code Online (Sandbox Code Playgroud)
这将your_script.pyc在同一目录中创建文件.
您也可以将目录传递为:
python -m compileall <directory>
Run Code Online (Sandbox Code Playgroud)
这将为目录中的所有.py文件创建.pyc文件
其他方法是创建另一个脚本
import py_compile
py_compile.compile("your_script.py")
Run Code Online (Sandbox Code Playgroud)
它还会创建your_script.pyc文件.您可以将文件名作为命令行参数
你可以使用该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
Run Code Online (Sandbox Code Playgroud)
compileall 提供类似的功能,使用它你会做类似的事情
$ python3 -m compileall ...
Run Code Online (Sandbox Code Playgroud)
... 要编译的文件或包含源文件的目录在哪里递归遍历.
另一种选择是导入模块:
$ 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
Run Code Online (Sandbox Code Playgroud)
-c 'import module'不同于-m module,因为前者不会if __name__ == '__main__':在module.py中执行块.