我注意到tkinter filedialog asksaveasfilename保存文件需要3秒或更长时间。正常吗有没有办法使其更快? (记事本或记事本++比它快) Python 3.7
示例
import tkinter
import tkinter.filedialog
import tkinter.scrolledtext
class app:
def __init__(self):
self._root= tkinter.Tk()
self._root.grid()
self._text= tkinter.Text(self._root)
self._text.grid()
self.menubar = tkinter.Menu(self._root)
self.filemenu = tkinter.Menu(self.menubar)
self.filemenu.add_command(label="Salva", command=self._save)
self.menubar.add_cascade(label="File", menu=self.filemenu)
self._root.config(menu=self.menubar)
def _save(self):
path = tkinter.filedialog.asksaveasfilename(title="Save")
if len(path) > 0:
with open(path, "w") as f:
f.write(self._text.get("1.0", "end-1c"))
def show(self):
self._root.mainloop()
a=app()
a.show()
答案 0 :(得分:0)
我测试了提供的代码,它在不到毫秒的时间内保存了文件。 您是否使用时间功能来检查保存时间?如果这样做了,您必须确保先标记开始时间,然后再询问用户文件位置,否则它将包括用户选择他们想要的文件位置所花费的时间。
def _save(self):
# Do Not Start timer here
path = tkinter.filedialog.asksaveasfilename(title="Save")
# Start timer here
start = time.time()
if len(path) > 0:
with open(path, "w") as f:
f.write(self._text.get("1.0", "end-1c"))
print(time.time() - start)