正在等待另一个 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回答以防万一这对任何人都有帮助。
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回答以防万一这对任何人都有帮助。