正在等待另一个 python 进程继续

Waiting on another python process to continue

Python 版本:Python 2.7.13

我正在尝试编写一个能够通过 *.txt 文件并启动批处理文件以执行特定测试的脚本。

下面的代码遍历输入文件,将字符串从 'N' 更改为 'Y',从而允许执行特定测试。我正在创建一个 for 循环以遍历 *.txt 文件中的所有行并按顺序执行所有测试。但是,我的问题是我不想同时执行测试(如果我只写测试代码就会发生这种情况)。

有没有办法等到初始测试完成后再启动下一个?

这是我目前的情况:

from subprocess import Popen
import os, glob

path = r'C:/Users/user1/Desktop/MAT'

for fname in os.listdir(path):
    if fname.startswith("fort"):
        os.remove(os.path.join(path, fname))

with open('RUN_STUDY_CHECKLIST.txt', 'r') as file:
    data = file.readlines()

ln = 4

ch = list(data[ln])
ch[48] = 'Y'
data[ln] = "".join(ch)

with open('RUN_STUDY_CHECKLIST.txt', 'w') as file:
    file.writelines(data)

matexe = Popen('run.bat', cwd=r"C:/Users/user1/Desktop/MAT")
stdout, stderr = matexe.communicate()

在此特定实例中,我将 *.txt 文件第 2 行中的 'N' 更改为 'Y',它将用作另一个 python 脚本的输入。

我不得不提一下,我想执行此任务而无需与任何提示进行交互,我想执行脚本并保留它 运行(因为这需要很长时间才能完成通过所有测试)。

此致,

豪尔赫

在进一步浏览了几个网站后,我设法找到了问题的解决方案。

我用过:

exe1 = subprocess.Popen(['python', 'script.py'])

exe1.wait()

我想post回答以防万一这对任何人都有帮助。