Simple python command to capture shell execution output?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Running shell command from python and capturing the output
当我想要捕获shell执行输出时,我会这样做。
1 | declare TAGNAME=`git describe --tags` |
简单。我在python中寻找这个,但是大多数看起来非常复杂。最简单的方法是什么?是的,我知道我可以做一个函数,但是我想知道一个预定义的函数,如果它存在的话。
1 | tagname = theFunc('git describe --tags') |
尝试:
1 2 | >>> import subprocess >>> tagname = subprocess.check_output('git describe --tags'.split()) |
您应该看看子流程模块。您也可以用它捕获命令的输出。手册页中有许多如何使用模块的示例。
例子:
1 2 | output=subprocess.Popen(["ps","aux"], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() |
结果是从命令捕获了一个具有stdout和stderr的元组。