2017-02-11 3 views
0

В python с библиотекой gtk, используемой для создания окон, как я могу перенаправить stdout в реальном времени в указанный буфер текстового просмотра?Создать текстовое представление stdout в приложении python

self.textbuffer.set_text(sys.stdout) 

Я вижу, что подпроцесс позволяет это, но она нуждается в другом процессе запустить, я хочу, чтобы захватить выход печати команд уже присутствует в остальной части программы (текущий процесс не другой процесс)

с уважением,

ответ

0

что-то вроде:

import sys 

class MyStdout: 
    def __init__(self, buffer): 
     self.buffer = buffer 

    def write(self, string): 
     if string: 
      # Append self.buffer 

sys.stdout = MyStdout(self.textbuffer) 
+0

Я, кажется, понимаю, что вы имеете в виду назначить что-то на стандартный вывод? Я хотел бы получить информацию, поступающую на терминал. –

+0

Терминалы получают stdout и stderr, так что это будет так. – TingPing

+0

Хорошо спасибо, извините, но я подожду, пока не пойму ваш ответ, прежде чем голосовать за него. –

Смежные вопросы