Основы работы с файлами в Python

Работа с файлами в Python позволяет считывать данные из файлов, записывать их и манипулировать ими. Вот основные операции, которые выполняются с файлами в Python:

Открытие файла

Перед тем как работать с файлом, его нужно открыть с помощью функции open(). Она возвращает объект файла, с которым можно работать.

Синтаксис:

file = open('filename', 'mode')
  • filename — имя файла, с которым вы хотите работать.

  • mode — режим открытия файла.

Режимы открытия файлов:

  • 'r' — чтение (по умолчанию). Файл должен существовать, иначе возникнет ошибка.

  • 'w' — запись. Если файл существует, его содержимое будет удалено; если нет, файл будет создан.

  • 'a' — добавление. Данные записываются в конец файла.

  • 'b' — двоичный режим. Используется для работы с бинарными файлами (например, изображениями).

  • 'x' — создание нового файла. Возникнет ошибка, если файл уже существует.

Примеры:

# Открытие файла для чтения
file = open('example.txt', 'r')

# Открытие файла для записи (создаст файл, если он не существует)
file = open('example.txt', 'w')

# Открытие файла для добавления данных
file = open('example.txt', 'a')

Чтение из файла

После открытия файла его содержимое можно прочитать различными способами.

Чтение всего файла:

content = file.read()

Чтение строки за строкой:

line = file.readline()

Чтение всех строк в список:

lines = file.readlines()

Пример:

file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()

Запись в файл

Для записи в файл используется метод write().

Пример:

file = open('example.txt', 'w')
file.write("Hello, World!")
file.close()

Закрытие файла

После завершения работы с файлом его необходимо закрыть, чтобы освободить ресурсы. Это делается с помощью метода close().

file.close()

Использование контекстного менеджера

В Python рекомендуется использовать контекстный менеджер (with), который автоматически закрывает файл после завершения работы с ним.

Пример:

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
# Файл автоматически закроется после выхода из блока with

Чтение и запись бинарных файлов

Для работы с бинарными файлами (например, изображениями) используется режим 'rb' для чтения и 'wb' для записи.

Пример:

# Чтение бинарного файла
with open('image.png', 'rb') as file:
    binary_data = file.read()

# Запись бинарного файла
with open('copy_image.png', 'wb') as file:
    file.write(binary_data)

Дополнительные методы работы с файлами

  • tell() — возвращает текущую позицию курсора в файле.

  • seek(offset, whence) — перемещает курсор на заданную позицию в файле.

  • flush() — принудительно записывает данные из буфера в файл.

Пример:

with open('example.txt', 'r+') as file:
    file.seek(5)  # Перемещаем курсор на 5-й байт
    file.write("Python")

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

При работе с файлами важно обрабатывать возможные исключения, например, файл может не существовать.

Пример:

try:
    with open('example.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print("Файл не найден")

Эти основы помогут вам начать работать с файлами в Python.

Last updated