假设我已经运行了一个Python脚本。让我们说,当它运行时,我打开源代码并将变量的值更改为不同的值。现在,如果我开始运行最新的源代码,在另一个终端中,前一次运行会发生什么变化?
由于我在运行时所做的这一最新变化会不会受到影响?
问题是我想为特定变量的不同值执行程序的并行运行。有没有更好的方法呢?
答案 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