python - 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)
谢谢你的时间。
解决方案
听起来您需要等待流程结束才能继续循环。
您的示例可以这样重写;
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()
推荐阅读
- python - 如何在python中具有不同项目数的列之间找到相同的索引?
- javascript - Javascript按值更改按钮文本
- angular - 如果在 json 响应中不可用,如何以角度检查 http 200 状态代码
- android - NoSuchMethodError:没有静态方法 decodeBase64
- c# - 根据班次表验证时间
- xcode - 运行时Xcode断点期间的可拖动指令指针?
- ios - 使用代码布局时如何防止视图进入UITabBar
- ios - 在下拉项目选择中获取 TableViewCell 索引为零
- php - Codeigniter:如何通过传递 id 使用两个表从 id 获取数据
- ethereum - eth.getBalance() 和 eth.getBlock("latest").number 返回 0