2010-08-12 37 views

回答

7

subprocess documentation

from subprocess import * 
output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0] 
+0

輸出= subprocess.Popen( 「回聲你好」,標準輸出= subprocess.PIPE).communicate()[0] 給出說「不可能找到指定的錯誤文件」;問題是什麼? – 2010-08-12 23:28:22

+1

如果你想在一個字符串中執行一個完整的命令,你必須通過'shell = True'。否則,您需要將命令和參數作爲字符串列表傳遞:'subprocess.Popen([「echo」,「hello」],stdout = subprocess.PIPE).communicate()[0]' – 2010-08-12 23:38:00

2

看看的子模塊。

http://docs.python.org/library/subprocess.html

它可以讓你做了很多相同的輸入和輸出重定向,你可以在外殼上進行的。

如果您嘗試重定向當前正在執行的腳本的stdout,這只是獲取正確的文件句柄的問題。在我頭頂,標準輸入爲0,標準輸出爲1,標準錯誤爲2,但重複檢查。在那一點上我可能是錯的。