in python, get the output of system command as a string
本问题已经有最佳答案,请猛点这里访问。
在Python中,我可以使用OS或子进程运行一些系统命令。问题是我不能得到字符串形式的输出。例如:
1 2 3 4 | >>> tmp = os.system("ls") file1 file2 >>> tmp 0 |
我有一个旧版本的子流程,它没有功能签出,我更喜欢一个不需要更新该模块的解决方案,因为我的代码将在一个我没有完全管理权限的服务器上运行。
这个问题似乎微不足道,但我找不到一个微不足道的解决方案
使用
1 | tmp = os.popen("ls").read() |
更新的方法(>python 2.6)是使用
1 2 | proc = subprocess.Popen('ls', stdout=subprocess.PIPE) tmp = proc.stdout.read() |