将glob命令从Popen传递到终端

时间:2013-08-14 21:30:11

标签: python linux bash

我需要能够在python脚本中运行FIO文件。我正在运行的文件将具有.fio扩展名,但我无法控制完整的文件名。我如何使用python中的Popen或调用函数来传递终端这个命令:

fio *.fio

2 个答案:

答案 0 :(得分:2)

您可以使用glob模块:

import subprocess
import glob

cmd = ['fio'] + glob.glob('*.fio')
subprocess.Popen(cmd, ...)

这也允许您查看文件的名称,因为cmd[1:]将包含与*.fio匹配的任何文件的扩展名称。

答案 1 :(得分:1)

Globbing是一个shell函数,所以你可以使用shell=True并让shell执行它。

subprocess.Popen("fio *.fio", shell=True)