Python Glossary English

Python 3.5+pathlibфункция

.read_text()

чтение/запись

Читает файл целиком в строку и сам закрывает его — open() не нужен. Кодировку стоит задавать явно: `encoding='utf-8'`.

Синтаксис

p.read_text(encoding='utf-8')

До Python 3.15 без явного encoding кодировка берётся из локали ОС (с 3.15 — UTF-8, PEP 686) — на Windows это обычно cp1251, и UTF-8 файл прочитается кракозябрами или упадёт с UnicodeDecodeError. Файл читается целиком в память: для многогигабайтного лога это не подходит, там открывают файл и идут по строкам в цикле.

Примеры

from pathlib import Path
p = Path('test_pathlib.txt')
p.write_text('hello world', encoding='utf-8')
p.read_text() # → 'hello world'
len(p.read_text().splitlines()) # → 1

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности