WebCraft
11 августа 2026 • Вторник

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

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

Практически любая программа работает с данными. Конфигурационные файлы, отчеты, логи, списки пользователей, экспорт из Excel — все это хранится в файлах. Поэтому умение читать и записывать файлы является одним из базовых навыков Python-разработчика.

В этой статье разберем основные способы работы с файлами в Python и рассмотрим наиболее распространенные сценарии.

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

Для работы с файлами используется встроенная функция open().

file = open("example.txt", "r", encoding="utf-8")

Аргументы функции:

  • имя файла;
  • режим открытия;
  • кодировка.

На практике чаще всего используется кодировка UTF-8.

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

Python поддерживает несколько режимов работы.

Чтение

file = open("example.txt", "r", encoding="utf-8")

Режим "r" открывает файл только для чтения.

Запись

file = open("example.txt", "w", encoding="utf-8")

Режим "w" полностью перезаписывает содержимое файла.

Добавление данных

file = open("example.txt", "a", encoding="utf-8")

Режим "a" добавляет данные в конец файла.

Чтение файла целиком

Самый простой способ прочитать файл — использовать метод read().

with open("example.txt", "r", encoding="utf-8") as file:
    content = file.read()

print(content)

После выполнения в переменной content будет храниться весь текст файла.

Этот способ удобен для небольших файлов.

Чтение построчно

Если файл большой, лучше читать его по строкам.

with open("example.txt", "r", encoding="utf-8") as file:
    for line in file:
        print(line.strip())

Такой подход требует меньше памяти и подходит для обработки больших объемов данных.

Запись данных в файл

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

with open("notes.txt", "w", encoding="utf-8") as file:
    file.write("Привет, Python!")

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

Добавление новых строк

Режим "a" позволяет дописывать данные без удаления существующих.

with open("log.txt", "a", encoding="utf-8") as file:
    file.write("Новое сообщение\n")

Это часто используется для ведения логов.

Почему стоит использовать with

Новички часто пишут так:

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

Но безопаснее использовать контекстный менеджер:

with open("example.txt", "r", encoding="utf-8") as file:
    content = file.read()

После завершения блока файл автоматически закрывается.

Такой подход считается хорошей практикой.

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

CSV используется для хранения табличных данных.

Пример файла:

name,age
Alice,25
Bob,30

Чтение CSV:

import csv

with open("users.csv", encoding="utf-8") as file:
    reader = csv.DictReader(file)

    for row in reader:
        print(row["name"])

Модуль csv уже входит в стандартную библиотеку Python.

Работа с JSON

JSON является одним из самых популярных форматов обмена данными.

Пример JSON:

{
    "name": "Alice",
    "age": 25
}

Чтение JSON:

import json

with open("user.json", encoding="utf-8") as file:
    data = json.load(file)

print(data["name"])

Запись JSON:

import json

user = {
    "name": "Alice",
    "age": 25
}

with open("user.json", "w", encoding="utf-8") as file:
    json.dump(user, file, ensure_ascii=False, indent=4)

Обработка ошибок

При работе с файлами могут возникать ошибки.

Например, если файл не существует.

try:
    with open("missing.txt", "r", encoding="utf-8") as file:
        content = file.read()
except FileNotFoundError:
    print("Файл не найден")

Обработка исключений делает программу более надежной.

Практический пример

Предположим, необходимо сохранить список задач.

tasks = [
    "Изучить Python",
    "Прочитать документацию Django",
    "Создать новый проект"
]

with open("tasks.txt", "w", encoding="utf-8") as file:
    for task in tasks:
        file.write(task + "\n")

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

Заключение

Работа с файлами — один из фундаментальных навыков в Python. Чтение текстовых файлов, обработка CSV и JSON, сохранение данных и работа с логами встречаются практически в каждом реальном проекте.

После освоения базовых операций стоит изучить работу с Excel-файлами, логированием и взаимодействием с базами данных. Эти инструменты помогут перейти от учебных примеров к созданию полноценных приложений.

Комментарии

Пока нет комментариев