Глава 15 · Python и файлы

Создание новых файлов

Записываем данные на диск — и знакомимся с современным способом работать с путями.

Создание новых файлов

Чтобы записать что-то в файл, откройте его в режиме записи "w" (write) — если файла не существует, Python создаст его сам; если существует — его прежнее содержимое стирается уже в момент открытия, ещё до первого write():

zapis_fajla.py
with open("rezultaty.txt", "w", encoding="utf-8") as file:
    file.write("Уровень 1: 100 очков\n")
    file.write("Уровень 2: 250 очков\n")
До
Уровень 1: 50 очков (старая игра)
open(..., "w")
После открытия "w"
(пустой файл)
Режим "w" стирает старое содержимое сразу при открытии файла — до первой записи.

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

Три основных режима открытия файла:

dozapis.py
with open("rezultaty.txt", "a", encoding="utf-8") as file:
    file.write("Уровень 3: 400 очков\n")
"a" — это не «вставить куда захочу»
Дозапись всегда добавляет текст в конец файла. Она не умеет вставлять текст в середину или начало существующего содержимого.

Пути к файлам: строка или pathlib

Путь к файлу: обычная строка → pathlib
Классический подход
file_path = "data/rezultaty.txt"
with open(file_path, "r", encoding="utf-8") as f:
    print(f.read())
Современный Python (pathlib)
from pathlib import Path

file_path = Path("data") / "rezultaty.txt"
print(file_path.exists())   # удобные методы прямо у пути
with file_path.open("r", encoding="utf-8") as f:
    print(f.read())
Что использовать сегодня: pathlib для путей к файлам — он появился в Python 3.4 и с тех пор считается предпочтительным способом. Строковые пути всё ещё повсеместно работают и встречаются в старом коде, но pathlib избавляет от ручной сборки пути через + и добавляет полезные методы вроде .exists() прямо у самого пути. Подробно разберём его в разделе 15.8.
Практика: запись, дозапись и pathlib
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →