在 python 中,我可以使用 os 或 subprocess 运行一些系统命令。问题是我无法将输出作为字符串。例如:
>>> tmp = os.system("ls")
file1 file2
>>> tmp
0
我有一个旧版本的子进程,它没有函数 check_out,我更喜欢不需要更新该模块的解决方案,因为我的代码将在我没有完全管理员权限的服务器上运行。
这个问题似乎微不足道,但我找不到微不足道的解决方案
在 python 中,我可以使用 os 或 subprocess 运行一些系统命令。问题是我无法将输出作为字符串。例如:
>>> tmp = os.system("ls")
file1 file2
>>> tmp
0
我有一个旧版本的子进程,它没有函数 check_out,我更喜欢不需要更新该模块的解决方案,因为我的代码将在我没有完全管理员权限的服务器上运行。
这个问题似乎微不足道,但我找不到微不足道的解决方案
使用os.popen()
:
tmp = os.popen("ls").read()
较新的方法(> python 2.6)是使用subprocess
:
proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
tmp = proc.stdout.read()