Шаг 176.
Основы языка Python. Работа с файлами и каталогами. Исключения, возбуждаемые файловыми операциями

    На этом шаге мы перечислим основные исключения, возбуждаемые при выполнении операций над файлами и каталогами.

    В предыдущих шагах неоднократно говорилось, что функции и методы, осуществляющие файловые операции, при возникновении нештатных ситуаций возбуждают исключение класса OSError или одно из исключений, являющееся его подклассом. Настало время познакомиться с ними.

    Исключений-подклассов класса OSError довольно много. Вот те из них, что затрагивают именно операции с файлами и папками:

    Ниже приведен пример кода, обрабатывающего некоторые из указанных исключений.

.   .   .   .
try:
    open("С:\temp\new\file.txt")
 except FileNotFoundError:
    print("Файл отсутствует") 
except IsADirectoryError:
    print("Это не файл, а папка") 
except PermissionError:
    print("Отсутствуют права на доступ к файлу") 
except OSError:
    print("Неустановленная ошибка открытия файла")
.   .   .   .


   Примечание. В версиях Python, предшествующих 3.3, поддерживалась другая иерархия исключений. В частности, поддерживались классы исключений IOError (возникали при файловых операциях в любых операционных системах) и WindowsError (возникали лишь в системе Windows). Начиная с Python 3.3, эти классы являются синонимами класса OSError. За подробностями обращайтесь к документации по языку Python.

    Со следующего шага мы начнем рассматривать работу с базой данных средствами Python.




Предыдущий шаг Содержание Следующий шаг