如何在Python中将参数传递给系统shell并将输出作为数组或字符串返回?
答案 0 :(得分:4)
os.system
并非旨在这样做; os.popen
是。两者都被subprocess
module淘汰,应该用于编写新代码。要捕获shell命令的输出,您将实例化subprocess.Popen
对象并调用communicate()
以检索其输出。
除了上述内容之外,{2.7}中的新内容{shell}替换了shell反引号,即您将命令传递给它并将输出作为字符串返回:
>>> subprocess.check_output(['ls', '-a'])
'.\n..\n'