我想分配我运行的命令的输出os.system
到一个变量并阻止它输出到屏幕。但是,在下面的代码中,输出被发送到屏幕并打印值var
是0,我猜这表示命令是否成功运行。有没有什么方法可以将命令输出分配给变量并阻止它显示在屏幕上?
var = os.system("cat /etc/services")
print var #Prints 0
From 这个问题我很久以前就问过,你可能想用的是popen
:
os.popen('cat /etc/services').read()
来自Python 3.6 的文档,
这是使用 subprocess.Popen 实现的;看看那个班级的
提供更强大的管理和沟通方式的文档
子流程。
这是对应的代码subprocess
:
import subprocess
proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print("program output:", out)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)