How can I get terminal output in python?
本问题已经有最佳答案,请猛点这里访问。
我可以使用
1 2 3 4 5 6 7 | >>> import subprocess >>> cmd = [ 'echo', 'arg1', 'arg2' ] >>> output = subprocess.Popen( cmd, stdout=subprocess.PIPE ).communicate()[0] >>> print output arg1 arg2 >>> |
使用subprocess.pipe时出现错误。对于巨大的产出,使用以下方法:
1 2 3 4 5 6 7 8 | import subprocess import tempfile with tempfile.TemporaryFile() as tempf: proc = subprocess.Popen(['echo', 'a', 'b'], stdout=tempf) proc.wait() tempf.seek(0) print tempf.read() |
使用
1 2 | pipe = Popen("pwd", shell=True, stdout=PIPE).stdout output = pipe.read() |
在Python2.7中,还可以使用
你可以按照他们的建议在
对于不重新开始的
1 2 | import os a = os.popen('pwd').readlines() |
最简单的方法是使用库命令
1 2 | import commands print commands.getstatusoutput('echo"test" | wc') |