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

pathlib: read_text, write_text, read_bytes, write_bytes

Для «прочитать всё» и «записать всё» pathlib даёт короткую запись — но не отменяет open().

Удобные методы pathlib для целого файла

read_write_text.py
from pathlib import Path

path = Path("nastroyki.txt")
path.write_text("Привет!", encoding="utf-8")
print(path.read_text(encoding="utf-8"))   # Привет!
read_write_bytes.py
from pathlib import Path

path = Path("signal.bin")
path.write_bytes(bytes([0, 1, 2]))
print(path.read_bytes())   # b'\\x00\\x01\\x02'
write_text()/write_bytes() заменяют содержимое целиком
Как и режим "w", эти методы полностью заменяют содержимое файла — они не подходят, когда нужна дозапись.

open() vs удобные методы pathlib — когда что

Что выбрать для конкретной задачи
Небольшой файл целиком, без потоковой обработки
path.read_text() / write_text()
Нужна построчная обработка или большой файл
with path.open(...) как в разделах 15.11-15.14
Целиком бинарные данные без потока
path.read_bytes() / write_bytes()
Нужен особый режим, например дозапись
open(путь, "a", ...)
pathlib не заменяет open() полностью
Path добавляет удобные методы для частых случаев целиком прочитать/записать файл — но потоковая построчная обработка и специальные режимы всё ещё держатся на open()/path.open(). pathlib не «заменяет open() и делает его ненужным» — они решают разные задачи.
Практика: read_text, write_text, read_bytes, write_bytes
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →