我需要將通過子進程執行的進程的stdout捕獲到字符串中,然後將其放入我創建的wx應用程序的TextCtrl中。我怎麼做?如何將stdout轉換爲字符串(Python)
編輯:我也想知道如何確定進程終止時
我需要將通過子進程執行的進程的stdout捕獲到字符串中,然後將其放入我創建的wx應用程序的TextCtrl中。我怎麼做?如何將stdout轉換爲字符串(Python)
編輯:我也想知道如何確定進程終止時
from subprocess import *
output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0]
看看的子模塊。
http://docs.python.org/library/subprocess.html
它可以讓你做了很多相同的輸入和輸出重定向,你可以在外殼上進行的。
如果您嘗試重定向當前正在執行的腳本的stdout,這只是獲取正確的文件句柄的問題。在我頭頂,標準輸入爲0,標準輸出爲1,標準錯誤爲2,但重複檢查。在那一點上我可能是錯的。
輸出= subprocess.Popen( 「回聲你好」,標準輸出= subprocess.PIPE).communicate()[0] 給出說「不可能找到指定的錯誤文件」;問題是什麼? – 2010-08-12 23:28:22
如果你想在一個字符串中執行一個完整的命令,你必須通過'shell = True'。否則,您需要將命令和參數作爲字符串列表傳遞:'subprocess.Popen([「echo」,「hello」],stdout = subprocess.PIPE).communicate()[0]' – 2010-08-12 23:38:00