如何通过Python执行shell命令
答
subprocess
该模块可用于这一目的:
import subprocess
retcode = subprocess.call(["at", "x", "y", "z"])
替换x
,y
和z
与参数at
。
答
或者,您可以使用Popen来捕获命令的输出(而不是返回码),而不是使用subprocess.call()。
import subprocess
process = subprocess.Popen(['at','x','y','z'], stdout=subprocess.PIPE).communicate()[0]
这可能与at命令不相关,但它对知道有用。 stdin和stderr可以做同样的事情。请查看documentation了解更多详情。
答
subprocess.check_output
似乎是Python 2.4+中的规范便利函数,用于执行命令并检查输出。如果该命令返回一个非零值(表示错误),它也会引发错误。
Like subprocess.call
,check_output
是围绕subprocess.Popen
的便利包装,因此您可能更愿意直接使用Popen
。但是便利包装在理论上是......方便的。
但是,多年后问这个问题,解决方案会有所不同。此外,这个问题不是关于空间,可能不是Windows。 – JonnyJD 2012-12-19 11:34:26