为了账号安全,请及时绑定邮箱和手机立即绑定

Python:按顺序运行 bash 命令

Python:按顺序运行 bash 命令

一只名叫tom的猫 2021-06-16 13:01:48
我正在*.in目录中的一堆文件上运行一个可执行文件。我的脚本一次转储所有命令。我想Popen在较早的进程终止后按顺序运行。这是我的脚本:import glob, os, subprocessimport sys, re, mathexec_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)谢谢你的时间。
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

听起来你需要等待你的过程结束才能继续循环。


你的例子可以这样重写;


import glob

import subprocess


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).wait()  # <- I've added .wait()


查看完整回答
反对 回复 2021-06-22
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信