2011-05-07 204 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。但是便利包裝在理論上是......方便的。