Я пишу программу Tkinter, которая загружает некоторые изображения в формате .png.
Поскольку файлы могут быть неисправными или не существовать, рекомендуется использовать блок try-Кроме.Сначала я проверяю файл с помощью общего Python.Затем я загружаю файл изображения в Tkinter, если он проходит общий блок пробного исключения Python:
ok = True
try:
image_file = open("cat.png")
image_file.close()
except IOError:
ok = False
if ok:
self.image = PhotoImage(file="cat.png")
Это должно загрузить файл изображения дважды: один раз для проверки Python и один раз для Tkinter.Кроме того, нет никакой гарантии, что попытка загрузки изображения в Tkinter сработает.Если файл поступал по сети, возможно, файл был доступен для вызова пробного запуска Python, но затем неожиданно был недоступен для вызова Tkinter.
Когда я намеренно завершил работу программы, выполнив командупри вызове недоступного файла я получаю:
tkinter.TclError: couldn't open "fakefile.png": no such file or directory
Это именно тот тип ошибки (файл не найден), который я пытаюсь перехватить внутри Tkinter.Я охотился вокруг, но я не смог найти способ для Tkinter попробовать - кроме его собственного вызова: PhotoImage(...)
.
Как я могу безопасно загрузить PNG?