0Pricing
Python Academy · Урок

Открытие и чтение файлов

Открывайте текстовые файлы и читайте их содержимое с помощью read и readlines.

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

Введение

Встроенная функция open() в Python предоставляет доступ к файловой системе. Чтение файлов построчно экономно расходует память при работе с большими объёмами данных.

Основы open()

f = open('file.txt', 'r') открывает файл в режиме чтения. Режимы: 'r' — чтение, 'w' — запись, 'a' — добавление, 'b' — двоичный режим.
# f = open('data.txt', 'r')
# content = f.read()
# f.close()
print('open demo')

Метод read()

f.read() считывает весь файл как одну строку. Это подходит для небольших файлов, но для файлов размером в несколько гигабайт такого подхода следует избегать.
# content = open('data.txt').read()
print('read demo')

readlines()

f.readlines() возвращает список строк, каждая из которых заканчивается на \n. Требуется удалить символы окончания: line.rstrip().
# lines = open('data.txt').readlines()
# for line in lines: print(line.rstrip())
print('readlines demo')

readline()

f.readline() считывает по одной строке за раз. Это полезно, когда нужен точный контроль или выполняется потоковая обработка очень больших файлов.
# f = open('data.txt')
# first = f.readline()
print('readline demo')

Прямой перебор строк

for line in f: — наиболее экономичный по памяти способ: строки передаются по одной, без загрузки всего файла.
# for line in open('data.txt'):
#     print(line.rstrip())
print('line iterator demo')

Параметр кодировки

Всегда указывайте кодировку: open('file.txt', encoding='utf-8'), чтобы избежать ошибок из-за кодировки по умолчанию, зависящей от платформы.
# f = open('data.txt', 'r', encoding='utf-8')
print('encoding demo')

Чтение определённого количества байтов

f.read(100) считывает не более 100 байтов или символов. f.seek(0) сбрасывает указатель файла в начало.
# f = open('data.txt')
# chunk = f.read(100)
# f.seek(0)
print('seek demo')

tell()

f.tell() возвращает текущую позицию в байтах. Используйте его вместе с seek(), чтобы перемещаться по файлу.
# f = open('data.txt')
# f.read(5)
# print(f.tell())
print('tell demo')

Чтение двоичных файлов

open('image.png', 'rb') открывает файл в двоичном режиме чтения. Возвращаются объекты bytes, а не строки.
# with open('image.png', 'rb') as f:
#     header = f.read(4)
print('binary read demo')

Всегда закрывайте файлы

f.close() освобождает файловый дескриптор OS. Если до close() возникает ошибка, дескриптор не освобождается. Используйте with, чтобы избежать этого.
# f = open('data.txt')
# try:
#     content = f.read()
# finally:
#     f.close()
print('close demo')

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

Какой метод считывает по одной строке за раз из файлового объекта?

Итоги

open(path, mode, encoding) открывает файлы. read() получает всё содержимое. readline() получает одну строку. Для эффективной работы выполняйте прямой перебор файлового объекта. Всегда закрывайте файлы.

Продолжайте

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

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

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

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

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

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

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

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

Сколько времени занимает урок «Открытие и чтение файлов»?

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

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

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

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

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