【发布时间】:2012-06-15 09:48:56
【问题描述】:
如何执行shell命令,可以像bash命令行中的普通命令一样复杂,执行后获取该命令的输出和pwd?
我用过这样的函数:
import subprocess as sub
def execv(command, path):
p = sub.Popen(['/bin/bash', '-c', command],
stdout=sub.PIPE, stderr=sub.STDOUT, cwd=path)
return p.stdout.read()[:-1]
我检查用户是否使用cd 命令,但是当用户使用符号链接到 cd 或其他奇怪的方式来更改目录时,这将不起作用。
我需要一本包含{'cwd': '<NEW PATH>', 'result': '<COMMAND OUTPUT>'}的字典
【问题讨论】:
标签: python bash shell subprocess pwd