我想把使用
os.system
运行的命令的输出分配给一个变量,并防止它被输出到屏幕上。但是,在下面的代码中,输出被发送到屏幕上,并且var
的值为0,我猜这意味着命令是否成功运行。有没有办法将命令输出分配给变量,并同时阻止其显示在屏幕上?var = os.system("cat /etc/services")
print var #Prints 0
os.system
(也不要使用os.popen
, 根据你所接受的答案): 使用subprocess.Popen
,它更好得多! - Alex Martellisubprocess.Popen
中使用管道等操作--只需要加上shell=True
即可! - Alex Martelli