0Pricing
Python Academy · Урок

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

Безопасно записывайте новые данные и добавляйте их в существующие файлы.

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

Введение

Запись и добавление данных в файлы позволяют программам сохранять данные между запусками.

Режим записи 'w'

open('out.txt', 'w') создаёт файл или очищает его, если он уже существует. f.write('Hello') записывает строку.
# with open('out.txt', 'w') as f:
#     f.write('Hello, World!')
print('write mode demo')

writelines()

f.writelines(list_of_strings) записывает каждую строку из списка. Этот метод НЕ добавляет переводы строк автоматически.
lines = ['line1\n', 'line2\n']
# with open('out.txt', 'w') as f:
#     f.writelines(lines)
print('writelines demo')

Режим добавления 'a'

open('log.txt', 'a') открывает файл для добавления: новые данные записываются в конец, не удаляя существующее содержимое.
# with open('log.txt', 'a') as f:
#     f.write('new entry\n')
print('append mode demo')

Переносы строк в write()

write() не добавляет переносы строк автоматически. Вы должны явно включить \n: f.write('line\n')
# with open('out.txt', 'w') as f:
#     f.write('first line\n')
#     f.write('second line\n')
print('newline demo')

Режим чтения и записи «r+»

open(f,'r+') открывает файл для чтения и записи. Указатель находится в начале — записи выполняются с перезаписью существующего содержимого: OVERWRITE.
# with open('out.txt', 'r+') as f:
#     f.seek(0, 2)  # go to end
#     f.write('appended')
print('r+ demo')

Сброс буферов

f.flush() принудительно записывает буферизованные данные на диск. Это полезно для файлов журналов, когда Вам нужен вывод в реальном времени.
# with open('log.txt', 'a') as f:
#     f.write('event\n')
#     f.flush()
print('flush demo')

Вывод print() в файлы

print('text', file=f) записывает данные в файл, используя форматирование print (и добавляет перенос строки). Это удобная альтернатива write().
# with open('out.txt', 'w') as f:
#     print('Hello', file=f)
print('print-to-file demo')

Шаблон атомарной записи

Запишите данные во временный файл, а затем переименуйте его в окончательный путь. Это предотвращает повреждение целевого файла из-за неполной записи.
import tempfile, os
# with tempfile.NamedTemporaryFile('w', delete=False) as f:
#     f.write(data); tmp = f.name
# os.replace(tmp, 'out.txt')
print('atomic write demo')

Запись JSON в файл

import json; json.dump(obj, f, indent=2) аккуратно сериализует данные Python в JSON-файл.
import json
data = {'name': 'Alice', 'age': 30}
# with open('data.json', 'w') as f:
#     json.dump(data, f, indent=2)
print(json.dumps(data, indent=2))

Двоичный режим записи «wb»

open('img.bin', 'wb') открывает файл для двоичной записи. Записывайте объекты bytes: f.write(b'\x00\xff')
# with open('out.bin', 'wb') as f:
#     f.write(bytes([0, 255, 128]))
print('binary write demo')

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

Что происходит с существующим файлом, если открыть его в режиме 'w'?

Итоги

Режим 'w' очищает содержимое, 'a' добавляет данные в конец, а 'r+' выполняет чтение и запись. Используйте write() с явным указанием \n. print(file=f) — удобная альтернатива. Выполняйте сброс буфера для журналов в реальном времени.

Продолжайте обучение

Отличная работа! Перейдите к следующему уроку, чтобы продолжить обучение.

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

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

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

Чему я научусь в уроке «Запись и добавление данных в файлы»?

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

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

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

Сколько времени занимает урок «Запись и добавление данных в файлы»?

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

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

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

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

  1. Открытие и чтение файлов
  2. Запись и добавление данных в файлы
  3. Использование оператора with для работы с файлами
  4. Работа с путями файлов с помощью pathlib
← Назад к Python Academy