我似乎无法弄清楚如何将已编译的.pyc模块导入到我的代码中,以便我可以在我的主脚本中使用它。这甚至可能吗?
答案 0 :(得分:11)
如果有foo.pyc,import foo会自动使用foo.pyc是否存在foo.py
(如果foo.py更新,则会使用它)
答案 1 :(得分:3)
使用导入不带扩展程序。 Python会查看文件是否已更改,如果不是,它将使用以前创建的pyc文件。
但请注意,如果您真的想要更高的性能,我建议您使用PyPy,这比标准的CPython实现要快得多。 (但请注意,它仍然是Python 2)
答案 2 :(得分:1)
答案 3 :(得分:0)
在导入时使用pyc文件名,python会自动加载它。
答案 4 :(得分:0)
是的,但请注意,确保使用“-O”选项启动python!根据我的个人经验,如果你只有.pyc或.pyo文件,运行“python.exe”没有标志并尝试导入将失败,但运行python.exe -O然后尝试导入正常应该工作
答案 5 :(得分:0)
import module
将无缝运行。
如果在与编译文件相同的目录中有一个源文件,则Python将改用__pycache__
目录中的编译文件,如果不存在,则从源代码重新编译。
如果删除源文件时未在同一目录中放置“ .pyc”,则即使已编译文件位于__pycache__
目录中,导入也会失败。另请注意,__pycache__
下的文件遵循不同的命名约定。如果将它们复制,请确保将它们重命名,以便与源文件具有相同的名称,但扩展名必须为“ pyc”而不是“ py”。
与flow chart链接的PEP 3147中有一个非常不错的documentation。