【发布时间】:2009-05-27 06:51:33
【问题描述】:
我在这里看到这个帖子很多次了;但未能从命令中捕获故意错误。到目前为止我发现的最好的部分工作..
from Tkinter import *
import os
import Image, ImageTk
import subprocess as sub
p = sub.Popen('datdsade',stdout=sub.PIPE,stderr=sub.PIPE)
output, errors = p.communicate()
root = Tk()
text = Text(root)
text.pack()
text.insert(END, output+ "Error: " + errors )
root.mainloop()
【问题讨论】:
-
感谢您对 SpliFF 的回答。为了清楚起见,“PyMOTW:Doug Hellmann 的子流程”在这里 [oreillynet.com/onlamp/blog/2007/08/pymotw_subprocess_1.html] from Tkinter import * import subprocess proc=subprocess.Popen('TestSomeCommandThatDoesNotExisit',shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr= subprocess.STDOUT,) stdout_value, stderr_value = proc.communicate() root = Tk() text = Text(root) text.pack() text.insert(END, repr(stdout_value)) root.mainloop() 我没有合并stderr=sub.STDOUT 再次感谢 ombre :) ~nolo
标签: python subprocess