Я видел, как это выкладывалось много раз здесь; но не удалось зафиксировать умышленные ошибки из команды. Лучшая частичная работа, которую я нашел до сих пор.захват stderr из подпроцесса python.Popen (команда, stderr = subprocess.PIPE, stdout = subprocess.PIPE)
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()
Спасибо за ваш ответ косяк на месте. Для ясности "PyMOTW: подпроцесс Дуг Hellmann" здесь [http://www.oreillynet.com/onlamp/blog/2007/08/pymotw_subprocess_1.html] из Tkinter импорта * импорта подпроцесса прок = подпроцесса .Popen ('TestSomeCommandThatDoesNotExisit', оболочки = True, STDIN = subprocess.PIPE, стандартный вывод = subprocess.PIPE, STDERR = subprocess.STDOUT,) stdout_value, stderr_value = proc.communicate() корень = Тк() = текст Текст (корень) text.pack() text.insert (END, repr (stdout_value)) root.mainloop() Я не сливал stderr = sub.STDOUT Еще раз спасибо ombre :) ~ nolo – 2009-05-28 20:02:49