可能重复:
Running shell command from python and capturing the output
当我想捕获shell执行输出时,我会这样做。
declare TAGNAME=`git describe --tags`
简单。我在Python中寻找这个,但大多数看起来非常复杂。最简单的方法是什么?是的,我知道我可以创建一个函数,但是我想知道预定义的函数是否存在。
tagname = theFunc('git describe --tags')
答案 0 :(得分:6)
尝试:
>>> import subprocess
>>> tagname = subprocess.check_output('git describe --tags'.split())
答案 1 :(得分:1)
您应该查看subprocess模块。您也可以使用它捕获命令的输出。手册页中有许多示例如何使用模块。
示例:
output=subprocess.Popen(["ps", "aux"], stdout=subprocess.PIPE,
stderr=subprocess.PIPE).communicate()
结果是一个带有stdout和stderr的元组,它是从命令中捕获的。