0Pricing
Python Academy · Урок

Чтение и запись файлов

Используйте read_text и write_text

«Чтение и запись файлов» — бесплатный урок Python Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.

Ввод и вывод файлов средствами pathlib

Пути pathlib могут напрямую читать файлы и записывать в них данные, поэтому в простых случаях не требуется явно вызывать open(). Методы read_text, write_text, read_bytes и write_bytes подходят для распространённых задач.

write_text

write_text() записывает строку в файл, создавая его при необходимости и заменяя всё существующее содержимое. Метод возвращает количество записанных символов.

from pathlib import Path

p = Path('greeting.txt')
n = p.write_text('Hello, pathlib!')
print('wrote', n, 'characters')

read_text

read_text() открывает файл, читает его целиком и закрывает, возвращая всё содержимое в виде строки.

from pathlib import Path

p = Path('greeting.txt')
p.write_text('Hello, pathlib!')
content = p.read_text()
print(content)

Закрывать вручную не требуется

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

from pathlib import Path

p = Path('notes.txt')
p.write_text('line one')
print(p.read_text())

Указание кодировки

Передайте аргумент encoding, чтобы указать кодировку текста. UTF-8 — безопасный и явный выбор, обеспечивающий переносимость.

from pathlib import Path

p = Path('uni.txt')
p.write_text('cafe resume', encoding='utf-8')
print(p.read_text(encoding='utf-8'))

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

Для двоичных данных используйте write_bytes() и read_bytes(). Они работают с объектами bytes, а не со строками.

from pathlib import Path

p = Path('data.bin')
p.write_bytes(b'\x00\x01\x02')
print(p.read_bytes())

Добавление и расширенные режимы

Одноразовые вспомогательные методы всегда перезаписывают содержимое. Для добавления данных или потоковой обработки вызовите у Path метод open(), чтобы получить обычный объект файла, пригодный для использования в блоке with.

from pathlib import Path

p = Path('log.txt')
p.write_text('start\n')
with p.open('a') as f:
    f.write('more\n')
print(p.read_text())

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

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

from pathlib import Path

p = Path('multi.txt')
p.write_text('a\nb\nc\n')
for line in p.read_text().splitlines():
    print('line:', line)

Создание родительских каталогов

Запись завершится ошибкой, если родительский каталог не существует. Сначала вызовите для родительского каталога mkdir(parents=True, exist_ok=True), чтобы создать всё дерево каталогов.

from pathlib import Path

p = Path('out/sub/file.txt')
p.parent.mkdir(parents=True, exist_ok=True)
p.write_text('done')
print(p.read_text())

Удаление файлов

Удалите файл с помощью unlink(). Передача missing_ok=True предотвращает ошибку, если файл уже удалён.

from pathlib import Path

p = Path('temp.txt')
p.write_text('bye')
print(p.exists())
p.unlink(missing_ok=True)
print(p.exists())

Прочитать, преобразовать, записать

Распространённый шаблон — прочитать файл, преобразовать его текст и записать результат обратно. С pathlib это аккуратная операция из трёх строк.

from pathlib import Path

p = Path('caps.txt')
p.write_text('hello world')
p.write_text(p.read_text().upper())
print(p.read_text())

Быстрая проверка

Что делает Path('a.txt').write_text('hi'), если файл уже существует?

Итоги

Вы научились читать и записывать файлы с помощью pathlib.

  • write_text/read_text выполняют ввод и вывод строкового содержимого целого файла.
  • write_bytes/read_bytes работают с двоичными данными.
  • Используйте open() для добавления данных или потоковой обработки.
  • Создавайте родительские каталоги с помощью mkdir, а удаляйте файлы с помощью unlink.

Часто задаваемые вопросы

Урок «Чтение и запись файлов» бесплатный?

Да — полный текст урока «Чтение и запись файлов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.

Чему я научусь в уроке «Чтение и запись файлов»?

Используйте read_text и write_text Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Чтение и запись файлов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Объект Path
  2. Чтение и запись файлов
  3. Поиск по шаблонам и итерация
  4. Манипуляции с путями
← Назад к Python Academy