2011-05-07 203 views

回答

8

subprocess该模块可用于这一目的:

import subprocess 
retcode = subprocess.call(["at", "x", "y", "z"]) 

替换xyz与参数at

4

或者,您可以使用Popen来捕获命令的输出(而不是返回码),而不是使用subprocess.call()。

import subprocess 
process = subprocess.Popen(['at','x','y','z'], stdout=subprocess.PIPE).communicate()[0] 

这可能与at命令不相关,但它对知道有用。 stdin和stderr可以做同样的事情。请查看documentation了解更多详情。

1

subprocess.check_output似乎是Python 2.4+中的规范便利函数,用于执行命令并检查输出。如果该命令返回一个非零值(表示错误),它也会引发错误。

Like subprocess.callcheck_output是围绕subprocess.Popen的便利包装,因此您可能更愿意直接使用Popen。但是便利包装在理论上是......方便的。