对Python脚本所做的更改是否会影响同一文件上正在进行的另一次运行?

时间:2015-06-26 16:10:49

标签: python

假设我已经运行了一个Python脚本。让我们说,当它运行时,我打开源代码并将变量的值更改为不同的值。现在,如果我开始运行最新的源代码,在另一个终端中,前一次运行会发生什么变化?

由于我在运行时所做的这一最新变化会不会受到影响?

问题是我想为特定变量的不同值执行程序的并行运行。有没有更好的方法呢?

2 个答案:

答案 0 :(得分:6)

Python将您的源代码编译为字节码并运行该字节码。一旦读取了源文件,就不再需要运行该字节码。对源文件的更改不会影响已经运行的代码。

但是,如果引发异常并且Python尝试格式化回溯以进行显示,它将返回到源代码,将字节码中的行标记映射回源行。如果源文件在编译后发生更改,则可能意味着显示错误的行。这可能会造成混乱。

您可以轻松地为程序提供命令行参数以改变其行为方式。查看sys.argv list,或许argparse module,了解更复杂的命令行选项处理。这样你的代码就会保持稳定和灵活。

答案 1 :(得分:3)

Python通常将源代码编译为* .pyc文件。更改脚本中的值通常不会影响内存中的值。

更好的方法是从argv

中获取参数
python your_script.py value

您可以使用

访问它
import sys
sys.argv[1] #this is the 'value' from the command line