如果我使用25MB/190,000行文本文件并将其转储到文本小部件中,该过程可以快速完成,但是之后我仍然可以看到使用50%CPU的python.exe。文件越大,CPU使用率降至0%所用的时间就越长。当我开始将多个文件加载到不同的文本小部件中时,它们会立即加载到小部件中,但CPU保持在50%,并且GUI运行非常缓慢,直到它完成在后端执行的任何操作。有人可以向我解释为什么CPU仍在使用中,以及为什么它会影响性能,如果文本已经在widget中?它需要做什么?任何方式在这个?从文件中插入文本后的Tkinter CPU活动
from tkinter import *
file = r"C:\path\to\large\file.txt"
def doit():
with open(file, 'r') as f:
txt.insert('end', ''.join(f))
f.close()
main = Tk()
txt = Text(main)
txt.grid(row=0)
btn = Button(main, text="click here", command=doit)
btn.grid(row=1, columnspan=2)
main.mainloop()
我想也许是因为即时处理文件行,而不是将整个文件加载到RAM中。我试过readlines(),但我得到了相同的结果。
转向文字包装关闭转了1分20秒到19秒。这将有助于TON。随意分享任何其他想法。 – sidnical
我使用笔记本来加载带有很多不同文本文件的标签。当加载它们的很多时候,它在GUI再次可用之前一直要花费很长时间。现在不到一分钟。这一变化造成了一个荒谬的区别。 – sidnical