我在 Windows 上运行 python 脚本。 我有一个像这样的 python 脚本:
subprocess.call(1)
subprocess.Popen(2)
subprocess.call(3)
当我运行脚本时,我得到的运行结果如下:
subprocess.call(3)
subprocess.call(1)
subprocess.Popen(2)
为什么会这样?
最佳答案
您使用 subprocess
创建的每个新流程都会产生一个新的子流程,因此得名。这意味着命令将在不同的时间完成运行,这意味着您将以不同的顺序获得结果。
这与在 Python 中调用函数不同,在 Python 中函数在其他函数运行之前完成运行。
关于Python 子进程在 Windows 上乱序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26987166/