2011-03-14 143 views
109

想象一下,需要很长时间才能运行的python脚本,如果我在运行时修改它,会发生什么?结果会不一样吗?如果我在运行时修改了Python脚本,会发生什么?

+1

程序被加载到主内存前。如果您更改源文件,则什么都不会发生。想象一下CPU会从硬盘读取指令... – 2011-03-14 09:50:29

+11

@Felix:这就是所谓的“就地执行”(XIP)。 – 2011-03-14 09:52:03

+0

@Ignacio:有趣,我不知道。谢谢:) – 2011-03-14 09:55:05

回答

131

什么也没有,因为python预编译你的脚本到PYC文件并从它启动。 只有当某种异常的情况出现你可能会得到错误的解释,因为线X可能是不同的代码,这是启动脚本

+9

不一定要写入文件。 – 2011-03-14 09:50:07

+43

但是如果你在运行时重新启动,当新的pyc文件覆盖旧的,会导致程序中已经运行或没有运行的问题? – dcousens 2012-05-03 01:31:54

+12

什么都没有发生。我也在一个小测试中检查过它。会发生什么:pyc只是编译器。这个编译器被加载到RAM中,然后执行。所以总是可以改变程序,重新编译并运行另一个实例,例如在不同的控制台中。 – Chris 2014-11-07 12:28:29

相关问题