Linux上的python中os.system(' ')
和commands.getstatusoutput(' ')
之间的区别是什么?
如果你能举一个例子,我会非常感激。
感谢
答案 0 :(得分:0)
os.system
运行外部shell命令并返回一个整数,该值为0表示成功,任何其他值都失败。如果正在运行的命令将某些内容发送到stdout或stderr,则只会打印它,但您无法将其分配给变量。
command.getstatusoutput
做同样的事情"几乎" os.system
所做的事情并返回一个元组,其中状态代码integer是第一个元素,状态消息是第二个元素。
在幕后,command.getstatusoutput
的做法与os.system
不同。它使用os
模块。它特别使用os.popen
并重定向所有stderr
输出以与stdout
输出结合,并从stdout
读取状态消息。
必须说subprocess
模块是执行上述两个命令可以执行的任何操作的新方法。