tkinter的多行文本框组件无法读取大型文本文件,使用22mb的大型txt格式小说作为测试,读取失败,这是无法读取的代码:
#多行文本组件的应用
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox
import os
mywindow = tk.Tk()
mywindow.title('记事本')
mywindow.geometry('400x300')
filename = ''
def openfile():
global filename
filename = filedialog.askopenfilename(defaultextension='.txt')
if filename=='':
filename=None
else:
mywindow.title(os.path.basename(filename))
mytext.delete(1.0,tk.END)
f=open(filename,'r',encoding='UTF-8')
mytext.insert(tk.INSERT,f.read())
f.close()
def savefile():
global filename
f=filedialog.asksaveasfilename(initialfile='未命名.txt',defaultextension='.txt')
filename=f
fh=open(f,'w',encoding='UTF-8')
msg=mytext.get(1.0,tk.END)
fh.write(msg)
fh.close()
mywindow.title(os.path.basename(f))
b_open=tk.Button(mywindow,text='打开',command=openfile)
b_open.pack(side=tk.LEFT)
b_save=tk.Button(mywindow,text='保存',command=savefile)
b_save.pack()
mytext=tk.Text(mywindow)
mytext.pack()
mywindow.mainloop()