解释器是否编译Python脚本?

13 浏览
0 Comments

解释器是否编译Python脚本?

这个问题已经有答案了:

如果Python是解释性语言,那么.pyc文件是什么?

我写了一个脚本,叫作samplescript.py。我所记得与它一起做的事情是编辑它并通过命令行python解释器运行它。

后来,我发现了一个samplescript.pyc文件。通过解释器运行脚本是否总是会调用脚本的编译过程?

admin 更改状态以发布 2023年5月23日
0
0 Comments

当您执行代码时,Python会创建一个编译的pyc文件。如果您不修改代码,则此文件是后续运行的执行文件。

来自这里

作为提高启动耗时的重要措施,如果在“spam.py”所在的目录中存在名为“spam.pyc”的文件,则假定该文件包含模块“spam”的已编译字节版本。用于创建“spam.pyc”的“spam.py”的修改时间记录在“spam.pyc”中,如果它们不匹配,则忽略该文件。

通常情况下,您不需要执行任何操作以创建“spam.pyc”文件。每次编译成功“spam.py”时,都会尝试将编译的版本写入“spam.pyc”。如果此尝试失败,则不是错误。如果由于任何原因未完全写入文件,则生成的“spam.pyc”文件将被识别为无效,因此稍后会被忽略。“spam.pyc”文件的内容是平台无关的,因此Python模块目录可以由不同架构的计算机共享。

0