有没有办法将所有 IDLE 输出重定向到 tkinter GUI,或者对 IDLE 输出做些什么?我想http.server
在 tkinter GUI 中显示该模块的所有 IDLE 输出,以监视 Web 服务器上发生的所有事情。这是否可以通过一些简单的功能/命令来实现,或者这是否涉及编辑 IDLE lib 文件?
之前问过类似的问题,我想将整个 IDLE/python shell 嵌入到我的监控程序中,但这对于最新的 python 版本似乎是不可能的。
编辑:
from tkinter import *
import sys, time, threading
global TXT
root = Tk()
TXT = Text(root, font="Arial")
TXT.pack(fill=X)
class RedirectText(object):
def __init__(self, TXT):
self.out = TXT
def write(self, string):
TXT.insert(END, string)
sys.stdout = RedirectText(TXT)
for i in range(10):
print("test", i+1)
def thread():
print("Delayed")
threading.Timer(1, thread).start()
threading.Timer(1, thread).start()
root.mainloop()
删除了所有错误代码,现在有了这个。不会写任何与系统相关的东西,只写print()
函数内部的东西。仍在寻找一种将insert
所有系统输出到文本小部件的方法。