shell 在Python中,将系统命令的输出作为字符串[duplicate]

xggvc2p6  于 2023-03-19  发布在  Shell
关注(0)|答案(1)|浏览(110)

此问题在此处已有答案

(21个答案)
七年前就关门了。
在python中,我可以使用操作系统或子进程来运行一些系统命令,但问题是我无法得到字符串形式的输出,例如:

>>> tmp = os.system("ls")
file1 file2
>>> tmp
0

我有一个旧版本的subprocess,它没有check_out函数,我更喜欢一个不需要更新该模块的解决方案,因为我的代码将在我没有完全管理权限的服务器上运行。

iklwldmw

iklwldmw1#

使用os.popen()

tmp = os.popen("ls").read()

更新的方法(〉python 2.6)是使用subprocess

proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
tmp = proc.stdout.read()

相关问题