Python:按顺序运行 bash 命令

我正在*.in目录中的一堆文件上运行一个可执行文件。我的脚本一次转储所有命令。我想Popen在较早的进程终止后按顺序运行。这是我的脚本:


import glob, os, subprocess

import sys, re, math


exec_path='/Users/me/path/to/exec'

for name in glob.glob("*.in"):

    print name

    output = name+'.out'

    args = [exec_path, '-o', output, name]

    subprocess.Popen(args)

谢谢你的时间。


一只名叫tom的猫
浏览 117回答 1
1回答

GCT1015

听起来你需要等待你的过程结束才能继续循环。你的例子可以这样重写;import globimport subprocessexec_path='/Users/me/path/to/exec'for name in glob.glob("*.in"):&nbsp; &nbsp; print name&nbsp; &nbsp; output = name + '.out'&nbsp; &nbsp; args = [exec_path, '-o', output, name]&nbsp; &nbsp; subprocess.Popen(args).wait()&nbsp; # <- I've added .wait()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python