2017-07-16 75 views
0

中打印整個程序運行時輸出基本上我所要做的就是我想要顯示在圖形界面中執行的輸出。 我有我使用下面的代碼如何在Gui python

from subprocess import call 
myscript= call("Myscript.sh", shell=True) 

運行bash腳本現在這個MYSCRIPT執行某些任務集。我想將輸出中發生的所有事情都顯示在圖形界面上。 我試圖在這裏做的一些邏輯是將所有的輸出存儲在一個字符串中並打印出來,但它顯示了最終的結果和一個整數值!我希望所有的字符串都能打印出myscript的效果。 代碼是作爲以下,我試圖:

root = Tk() 
words=[] 

a= call("sh amapt.sh", shell=True) 
w = Label(root, text=words.append(a)) 
w.pack() 
print w 
root.mainloop() 

This is my script output that i want to be displayed in a Gui somewhere as in label or form. i dont know how. im confused please guide me

回答

0

call返回退出代碼,它是一個整數值。試試check_output,它返回文本。

from subprocess import check_output 

root = Tk() 

# to get the error message you need to catch stderr too 
a = check_output("sh amapt.sh; exit 0", shell=True, stderr=subprocess.STDOUT) 
w = Label(root, text=a) 
w.pack() 
root.mainloop() 
+0

subprocess.CalledProcessError:命令 'MYSCRIPT' 返回非零退出狀態255 現在怎麼辦? – Alex

+0

這意味着'Myscript'未能正確運行。修復阻止Myscript運行的任何內容。 – Novel

+0

腳本運行完美並正在進行工作。 – Alex