如果我使用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