Я создал exe-файл, используя autopy для exe.
Вначале я прошу пользователя ввести файл для использования, используя следующий код:
filename = filedialog.askopenfilename(initialdir = "/", title = "Select file to convert")
Но когда пользователь нажимает «Отмена» или нажимает «X» в правом верхнем углу, появляется код ошибки, как вы можете видеть на изображении.
как остановить выполнение кода, если пользователь нажмет один из двух вариантов, упомянутых выше, чтобы код ошибки не отображался?
Я знаю, что некоторые вопросы уже были заданы по аналогичной теме, но я не мог адаптировать их к моему случаю. Я надеюсь, что я был достаточно ясен






Просто проверьте, существует ли указанный путь с помощью os.path.exists(filename)
Основная причина FileNotFoundError заключается в том, что он не может найти файл с пустым строковым путем, который он никогда не найдет.
Я подробно расскажу о том, что объяснил @Sagitario. os.path.exists(filename) используется для проверки правильности и существования filename:
import os
if os.path.exists(filename):
do_something() # like trying to open a file in this condition.
else:
print(f"{filename} not found, please select other path")
Тем не менее, если ваш путь пуст, он обязательно перейдет в состояние else. Вместо этого вы можете проверить ввод пути, что он не пуст и существует.
Кроме того, здесь может помочь блок try-except. Но вам также необходимо решить основную проблему пустого пути к файлу где-то в вашем коде, используя приведенное выше условие if для проверки пути к файлу.
try:
filename = filedialog.askopenfilename(initialdir = "/", title = "Select file to convert")
# ... the rest of your code relating the file opening ...
except FileNotFoundError:
print(f"{filename} not found, please select other path")
Можете ли вы быть более конкретным, пожалуйста? я не очень понимаю, как это поможет мне решить проблему