【发布时间】:2011-09-21 22:37:14
【问题描述】:
【问题讨论】:
-
os.system("ls")用于运行您只关心它是否运行的命令。如果您想要标准输出输出,请使用此处定义的commands.getstatusoutput("ls")[1]之类的内容:docs.python.org/2/library/commands.html -
(但是,如果您不采取其他措施,
os.system("ls")将输出ls的结果。在这种情况下,我不确定您是否想要抑制附加输出,但如果你这样做了,一种方法是os.system("ls > /dev/null 2>&1")。 -
只是为了说明这一点,
os.system的文档非常明确地建议您避免使用它,而使用subprocess。有一个函数只运行一个命令并返回其结果代码 (subprocess.call) 和一个从命令中检索输出 (subprocess.check_output) 以及一个在命令失败时失败的函数 (subprocess.check_call)。有一个现代的高级函数subprocess.run可以完成这三个功能,甚至更多。