Tkinter filedialog с заявлением
Я хотел бы сохранить файл. По этой причине я использую filedialog с оператором 'with'. Пока я выбрал файл и сохранил его, все работает нормально. Однако, когда filedialog отменен, я получаю следующую ошибку:
Файл "...\src\test.py", строка 7, с файлом filedialog.asksaveasfile(mode='w') как myFile: AttributeError: enter
Есть ли работа для достижения этой цели с помощью выражения "с"?
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
with filedialog.asksaveasfile(mode='w') as myFile:
myFile.write('Test')
root.mainloop()
1 ответ
Спасибо за разъяснения, цвер. Я думаю, что блок try...finally является наиболее удобным решением для моих целей. Я преодолею проблему следующим образом:
import tkinter as tk
from tkinter import filedialog
def Test():
root = tk.Tk()
myFile = filedialog.asksaveasfile(mode='w')
if not myFile:
return
try:
myFile.write('Test')
finally:
myFile.close()
root.mainloop()
Test()