В зависимости от ваших точных требований, я предлагаю вам использовать функцию check_output модуля подпроцесса. Как показано в следующем коде:
import subprocess
from tkinter import *
root = Tk()
text = Text(root)
text.grid()
output = subprocess.check_output(['python3', 'python_script_name'], encoding='utf-8')
print(type(output))
for line, out in enumerate(output):
text.insert("{}.{}".format(line, 0), out, "{}.end".format(line))
root.mainloop()
Имя сценария Python должно быть полным путем к сценарию Python, иначе убедитесь, что файл сценария Python находится в том же каталоге, что и сценарий, который включаетвызов функции check_output. Кодировка = 'utf-8' гарантирует, что функция возвращает строку, которая хорошо печатается в текстовом виджете. Без ключевого слова кодирования check_output возвращает байтовый объект, который плохо печатается в текстовом виджете.