如何从.py文件手动生成.pyc文件
出于某种原因,我不能依靠Python的“导入”语句自动生成.pyc文件
有没有一种方法来实现一个function如下?
def py_to_pyc(py_filepath, pyc_filepath): ...
你可以在terminal中使用compileall。 下面的命令将recursion到子目录中,并为它find的所有python文件生成pyc文件。 compileall模块是Python标准库的一部分,所以你不需要额外安装任何东西来使用它。 这对python2和python3的工作方式完全相同。
python -m compileall .
我上次使用Python已经有一段时间了,但我相信你可以使用py_compile
:
import py_compile py_compile.compile("file.py")
您可以使用以下命令从命令行编译单个文件:
python -m compileall <file_1>.py <file_n>.py
我会使用compileall 。 它从脚本和命令行都很好地工作。 这是一个比已经提到的py_compile更高级别的模块/工具,它也在内部使用。
我find了几种将python脚本编译成字节码的方法
-
使用
py_compile.compile
:import py_compile py_compile.compile('YourFileName.py')
-
使用
py_compile.main()
:它一次编译几个文件。
import py_compile py_compile.main(['File1.py','File2.py','File3.py'])
列表可以随意增长,或者显然可以通过主文件列表,甚至可以通过命令行parameter passing文件名。
或者,如果您在主要传递
['-']
,那么它可以交互地编译文件。 -
在terminal中使用
py_compile
:python -m py_compile File1.py File2.py File3.py ...
或者,对于文件的交互式编译
python -m py_compile - File1.py File2.py File3.py . . .
-
使用
compileall.compile_dir()
:import compileall compileall.compile_dir(direname)
它编译提供的目录中的每个Python文件。
-
使用
compileall.compile_file()
:import compileall compileall.compile_file('YourFileName.py')
看看下面的链接: