Как сделать консоль для текстового редактора
Недавно начал писать текстовый редактор. При нажатии на кнопку "run" запускается нужный пользователю файл.
os.startfile("Some_file.py")
Также есть лэйбл в который хотелось бы выводить ошибки (ну и прочий вывод). То есть выводить все данные в этот лэйбл.
from tkinter import *
import os
def start():
os.startfile("some_file.py")
root=Tk()
Button1=Button(root,text="run", command=start)
Button1.pack()
Label1=Label(root,text="")
Label1.pack()
root.mainloop()
Но я абсолютно не знаю как это сделать.
Ответы (1 шт):
Автор решения: cyr oil
→ Ссылка
В питоне есть такая вещь как redirect_stdout
from contextlib import redirect_stdout
f=io.StringIO()
try:
with redirect_stdout(f):
exec(workplace.get(0.0,END))
label1.configure(text=f.getvalue())
except Exception as e:
em=traceback.format_exc()
label1.configure(text=traceback.format_exc())