【发布时间】:2019-01-11 19:33:08
【问题描述】:
有人能指出使用 subprocess 模块进行 shell 替换的正确方法吗?作为一个简单的例子,考虑以下情况
result = subprocess.check_output(['ls', '-l', '/tmp/`date +"%Y-%m-%d"`'], shell=True)
以下变体已尝试但未成功
result = subprocess.check_output(['ls', '-l', '/tmp/$(date +"%Y-%m-%d")'], shell=True)
result = subprocess.check_output(['ls', '-l', '/tmp/date +"%Y-%m-%d"'], shell=True)
另外,subprocess.Popen 会比 check_output 更好吗?
【问题讨论】:
-
我更感兴趣的是了解 shell 替换如何与子进程模块一起工作。是的,我知道这些,我只是想弄清楚当出现需要替换 shell 的情况时,最好的方法是什么,我会编辑这个问题,谢谢
标签: python shell subprocess