Python «open ()» выдает разные ошибки для «файл не найден» - как обрабатывать оба исключения?
У меня есть сценарий, где пользователю предлагается ввести имя файла (файла, который должен быть открыт), и если файл не 't существует в текущем каталоге, пользователю снова предлагается запрос. Вот короткая версия:
file = input("Type filename: ")
...
try:
fileContent = open(filename, "r")
...
except FileNotFoundError:
...
Когда я тестировал мой скрипт на моем MacOS X в Python 3.3x, он прекрасно работал, когда я целенаправленно набираю неправильное имя файла (он выполняет набор в разделе "ожидать»).
Однако, когда я хотел запустить свой код на компьютере с Windows в Python 3.2x, я получил сообщение об ошибке "FileNotFoundError» не определено. Итак, Python 3.2 на Windows думаетFileNotFoundError» переменная и программа завершает работу с ошибкой.
Я понял, что Python 3.2 на Windows выбрасываетIOError» если входное имя файла недействительно. Я протестировал его на своем компьютере с Linux в Python 2.7, и этоЭто также ошибка ввода-вывода.
Моя проблема в том, что код с
except "FileNotFoundError":
победил'не работает на Windowsс Python 3.2, но если я изменю его на
except "IOError":
это победилобольше не работаю на моем Mac.
Как я мог обойти это? Единственный способ, которым я могу думать, - это использовать толькоexcept
что я обычно нене хочу