Я пытаюсь получить путь к файлу через filedialog от tkinter, но вместо выбора файла я закрываю окно, чтобы найти этот файл, что делает мой GUI go немного сумасшедшим. Когда я закрываю окно просмотра, я вижу следующий журнал:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Shtlrs\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 1702, in __call__
return self.func(*args)
File "D:\Invoice handling\GUITest.py", line 76, in browseXLL
self.man = xManip.XManip(file)
File "D:\Invoice handling\xManip.py", line 13, in __init__
self.sheet = openpyxl.load_workbook(path)
File "D:\Invoice handling\venv\lib\site-packages\openpyxl\reader\excel.py", line 313, in load_workbook
data_only, keep_links)
File "D:\Invoice handling\venv\lib\site-packages\openpyxl\reader\excel.py", line 124, in __init__
self.archive = _validate_archive(fn)
File "D:\Invoice handling\venv\lib\site-packages\openpyxl\reader\excel.py", line 94, in _validate_archive
raise InvalidFileException(msg)
openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support file format, please check you can open it with Excel first. Supported formats are: .xlsx,.xlsm,.xltx,.xltm
Что я хочу сделать, это перезапустить GUI (или, возможно, в конечном итоге другое действие), когда я закрываю окно просмотра, вот фрагмент кода это должно справиться с ситуацией:
from tkinter import messagebox
from tkinter import filedialog
from openpyxl.utils.exceptions import InvalidFileException
...
def browseXLL(self,event):
try:
file = filedialog.askopenfilename()
except InvalidFileException:
self.window.destroy()
self.__init__()
но ошибка n