Python command execution output
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Running shell command from python and capturing the output
我想将命令的输出捕获到一个变量中,以便稍后该变量可以再次使用。我需要更改此脚本,以便执行以下操作:
1 2 3 4 | #!/usr/bin/python import os command = raw_input("Enter command:") os.system(command) |
如果在运行此脚本时输入"ls",则会得到以下输出:
1 | Documents Downloads Music Pictures Public Templates Videos |
我想把这个字符串(ls命令的输出)捕获到一个变量中,以便稍后再使用它。我该怎么做?
1 2 3 4 | import subprocess command = raw_input("Enter command:") p = subprocess.Popen(command, stdout=subprocess.PIPE) output, error = p.communicate() |
命令的输出可以用
1 | output = subprocess.check_output("ls") |
有关
这是我过去的做法。
1 2 3 4 5 6 7 | >>> import popen2 __main__:1: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module. >>> exec_cmd = popen2.popen4("echo shell test") >>> output = exec_cmd[0].read() >>> output 'shell test ' |