系统shell的Python 3 os.system输出?

时间:2012-11-04 08:55:18

标签: python python-3.x

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

1 个答案:

答案 0 :(得分:4)

os.system并非旨在这样做; os.popen是。两者都被subprocess module淘汰,应该用于编写新代码。要捕获shell命令的输出,您将实例化subprocess.Popen对象并调用communicate()以检索其输出。

除了上述内容之外,{2.7}中的新内容{shell}替换了shell反引号,即您将命令传递给它并将输出作为字符串返回:

>>> subprocess.check_output(['ls', '-a'])
'.\n..\n'