Python: Файлы и исключения (Урок 9)

Урок посвящен работе с файлами и обработке исключений в Python. Рассмотрены основные операции чтения и записи файлов, а также обработка ошибок, возникающих во время выполнения программы.

Работа с файлами

Часто требуется сохранять результаты работы программы в файле или читать данные из файла. Python предоставляет инструменты для работы с файлами различных форматов.

Каждый файл имеет два ключевых свойства:

  1. Имя файла: Состоит из названия и расширения, указывающего на тип файла.
  2. Путь к файлу: Местоположение файла на диске или в сети.

Алгоритм работы с файлами

Работа с файлами включает три этапа:

  1. Открытие файла: Функция open() принимает путь к файлу и режим открытия:

    • ‘r’ – чтение (read).
    • ‘w’ – запись (write), перезаписывает существующий файл.
    • ‘a’ – добавление (append), новый текст добавляется в конец файла.
  2. Чтение/запись данных: Методы read() (чтение всего содержимого) и write() (запись данных).
  3. Закрытие файла: Обязательный шаг, выполняемый методом close(). Гарантирует сохранение изменений и освобождение ресурсов.

Примеры: создание и запись, чтение

Пример 1: Создание и запись в файл

f = open('1.txt', 'w')
f.write('Привет, файл!')
f.close()

Этот код создаёт файл 1.txt в той же директории, что и скрипт, и записывает в него текст «Привет, файл!».

Пример 2: Чтение из файла

f = open('1.txt', 'r')
print(f.read())
f.close()

Этот код выводит на консоль содержимое файла — «Привет, файл!».

Использование with

Для автоматического закрытия файлов рекомендуется использовать конструкцию with:

with open('1.txt', 'a') as f:
    f.write('\nБугага')

Файл автоматически закроется после завершения блока with, даже при ошибке. Текст «Бугага» будет добавлен в конец файла.

Обработка исключений

Во время выполнения программы могут возникать ошибки (исключения). Обработка исключений предотвращает аварийное завершение и обеспечивает корректное выполнение кода. В Python используются блоки try и except.

Пример: обработка ZeroDivisionError

a = int(input())
b = int(input())

try:
    print(a / b)
except ZeroDivisionError:
    print("На ноль делить нельзя!")

Код запрашивает два числа. Если второе число — 0, вместо ошибки выводится сообщение «На ноль делить нельзя!».

Рассмотрены основные принципы работы с файлами и обработки исключений в Python. Это важные навыки для создания robust и надежных программ.

Что будем искать? Например,программа