1

如何在 Python 中将参数传递给系统 shell 并将输出作为数组或字符串返回?

4

1 回答 1

4

os.system不是为此而设计的;os.popen是。两者都已被subprocess模块淘汰,应该用于编写新代码。要捕获 shell 命令的输出,您将实例化一个subprocess.Popen对象并调用communicate()以检索其输出。

除了上述之外, Python 2.7 中新增的实用函数check_output是 shell 反引号的插件替换,即您将执行命令传递给它并以字符串形式获取输出:

>>> subprocess.check_output(['ls', '-a'])
'.\n..\n'
于 2012-11-04T09:31:03.750 回答