0

我的 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的范围是什么?谢谢你的建议。干杯

4

1 回答 1

4

subprocess.call启动子进程。该进程不知道发生了什么A或调用了多少次——它只知道你传递给它的命令行参数。在这种情况下,你总是'B'在没有命令行参数的情况下调用,因为你调用时parameters总是等于。['B']subprocess.call

于 2013-01-18T15:43:12.913 回答