Использование оператора with для работы с файлами
Обеспечивайте автоматическое закрытие файлов с помощью менеджеров контекста.
«Использование оператора with для работы с файлами» — бесплатный урок Python Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.
Введение
Инструкция with
# with open('data.txt') as f:
# content = f.read()
# f is now closed
print('with demo')Почему with лучше, чем try/finally
# Equivalent to:
# f = open('file.txt')
# try:
# content = f.read()
# finally:
# f.close()
print('comparison demo')Несколько файлов
# with open('in.txt') as src, open('out.txt','w') as dst:
# for line in src:
# dst.write(line.upper())
print('multi-file demo')Протокол контекстного менеджера
# f.__enter__() opens
# f.__exit__() closes
print('protocol demo')Чтение и обработка
lines = [' hello \n', ' world \n']
cleaned = [l.strip() for l in lines if l.strip()]
print(cleaned)Запись с помощью with
# with open('out.txt', 'w') as f:
# for i in range(10):
# f.write(f'{i}\n')
print('write with demo')Проверка существования файла
import os
print(os.path.exists('/tmp'))
print(os.path.exists('/nonexistent'))Ошибки open()
try:
with open('/nonexistent.txt') as f:
pass
except FileNotFoundError as e:
print('File not found:', e)StringIO для файлов в памяти
from io import StringIO
buf = StringIO('line1\nline2\n')
for line in buf:
print(line.rstrip())Модуль tempfile
import tempfile
with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=True) as f:
f.write('temp data')
print(f.name)Быстрая проверка
Итоги
Продолжайте обучение
Часто задаваемые вопросы
Урок «Использование оператора with для работы с файлами» бесплатный?
Да — полный текст урока «Использование оператора with для работы с файлами» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.
Чему я научусь в уроке «Использование оператора with для работы с файлами»?
Обеспечивайте автоматическое закрытие файлов с помощью менеджеров контекста. Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Использование оператора with для работы с файлами»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Открытие и чтение файлов
- Запись и добавление данных в файлы
- Использование оператора with для работы с файлами
- Работа с путями файлов с помощью pathlib