使用Python 2.6子流程模块,我需要在要使用先前的子流程调用构建的src.rpm文件上运行命令。
不幸的是,我使用的规范文件不一致,因此我对src.rpm的文件名应该是什么样的模棱两可(例如,我知道包的名称和扩展名为“ {package}-{version} .src.rpm”,而不是版本)。
但是,我确实知道我要查找的目录中只有一个src.rpm文件,因此我可以使用以下命令来调用模拟
mock {options} *.src.rpm
并使其可以在Shell中运行,但是子进程似乎不想接受扩展。我已经尝试使用(shell = True)作为subprocess.call()的参数,但是即使它起作用了,我还是希望避免使用它。
我如何得到类似的东西
subprocess.call("mock *.src.rpm".split())
跑步?
使用glob包装:
glob
import subprocess from glob import glob subprocess.call(["mock"] + glob("*.src.rpm"))