我的python脚本有奇怪的行为。所以,我有python脚本A,它多次调用另一个脚本B.为了呼叫B,我使用子进程模块。
脚本A:
的片段for i in range(0,10000):
parameters = []
parameters.append("B")
result = subprocess.call(parameters)
脚本B的片段:
testdata = some_logic
if testdata:
function_1()
else:
function_2()
因此,脚本A将多次调用脚本B.经过一些测试后,我注意到变量 testdata 对当前运行的脚本B没有预期的价值。在运行脚本B时是否有可能,变量 testdata 具有以前的电话B的价值?在这种情况下,变量 testdata 的范围是多少?谢谢你的建议。干杯
答案 0 :(得分:4)
subprocess.call
启动子进程。这个过程对A
中发生的事情或被调用的次数一无所知 - 它只知道你传递给它的命令行参数。在这种情况下,您始终在没有命令行参数的情况下调用'B'
,因为当您致电parameters
时,['B']
始终等于subprocess.call
。