如何解决在子过程中扩展Shell?
使用glob
包装:
import subprocess
from glob import glob
subprocess.call(["mock"] + glob("*.src.rpm"))
解决方法
使用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())
跑步?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。