如果python程序包含错误会发生什么,它会生成.pyc文件吗?

时间:2018-05-28 13:08:25

标签: python python-3.x

我已经读过,当我们第一次执行python脚本并将它存储在_pycache目录中时,python会生成.pyc文件,但如果python脚本在某行有错误会发生什么。它会生成字节码吗?

1 个答案:

答案 0 :(得分:0)

Python永远不会删除缓存(字节码)文件,所以如果它被写入,它就会保留。它在编译后编写(如果没有SyntaxError s)并且在执行之前 - 甚至在发现之前,例如,第一行上的import foo指的是不存在的模块。

所以你几乎可以说除非引发SyntaxError,否则会写入该文件,除了其他事情可以引发:第一个模块中的importexec / { {1}} / eval或明确的compile。如果需要,可以通过计算回溯帧来查看(第一个)模块是否曾经开始执行, 可以通过编程方式区分这些。