У меня есть следующий script в Python 3.2.3:
try:
file = open('file.txt', 'r')
except IOError:
print('There was an error opening the file!')
sys.exit()
#more code that is relevant only if the file exists
Как я могу выйти изящно, если файл не существует (или просто ошибка его открытия)?
Я могу использовать exit()
, но это открывает диалоговую панель с вопросом, хочу ли я убить приложение.
Я могу использовать sys.exit()
, но это вызывает исключение SystemExit, которое не выглядит великолепно на выходе. Я получаю
Traceback (most recent call last):
File "file", line 19, in <module>
sys.exit() SystemExit
Я могу использовать os.exit()
, но это убивает Python на уровне C, без каких-либо очищений, которые я мог бы выполнять.
Я могу использовать логическую переменную и обернуть весь следующий код в if... но это уродливо, и это не единственная проверка, которую я выполняю. Поэтому у меня было бы шесть вложенных ifs...
Я просто хочу напечатать "Ошибка..." и выйти. Я работаю в IDLE.