Освоение readline() в Python: эффективное построчное чтение файлов
Что такое Python readline()?
readline() — встроенный метод файла, возвращающий следующую полную строку из объекта файла. Возвращаемая строка заканчивается символом новой строки (\n). При достижении конца файла возвращается пустая строка.
Можно опционально передать аргумент size для ограничения числа читаемых байт. Отрицательное или опущенное значение заставляет читать всю строку целиком.
Ключевые характеристики
- Читает одну полную строку за вызов.
- Добавляет завершающий перевод строки, если только это не последняя строка без него.
- Возвращает строку в текстовом режиме; байтовый объект в бинарном режиме.
- Поддерживает опциональный параметр
size(по умолчанию -1).
Синтаксис
file_object.readline([size])
Параметры
- size (int, опционально): количество байт для чтения. По умолчанию -1 (читать всю строку).
Возвращаемое значение
Строка (или байты), содержащая следующую строку, или пустая строка при исчерпании файла.
Пример 1: Чтение первой строки
Предположим, demo.txt содержит:
Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line
Python код:
with open("demo.txt", "r") as f:
first_line = f.readline()
print(first_line)
Вывод:
Testing - FirstLine
Пример 2: Использование аргумента size
Чтение только первых 10 символов первой строки:
with open("demo.txt", "r") as f:
partial = f.readline(10)
print(partial)
Вывод:
Testing -
Базовый ввод-вывод файлов в Python
Открытие файлов обрабатывается через open(path, mode). Распространённые режимы:
| Режим | Описание |
|---|---|
| r | Чтение (по умолчанию) |
| w | Запись (усечение) |
| a | Дозапись |
| rb | Чтение в бинарном режиме |
| wb | Запись в бинарном режиме |
Построчное чтение файла
Использование цикла while с readline():
with open("demo.txt", "r") as f:
line = f.readline()
while line:
print(line)
line = f.readline()
Использование цикла for (предпочтительно для читаемости):
with open("demo.txt", "r") as f:
for line in f:
print(line)
Чтение всех строк сразу
Метод readlines() возвращает список всех строк:
with open("test.txt", "r") as f:
lines = f.readlines()
print(lines)
Пример вывода:
["Line No 1\n", "Line No 2\n", "Line No 3\n", "Line No 4\n", "Line No 5"]
Резюме
- Используйте
readline()для контролируемого построчного чтения. - Передавайте
sizeдля ограничения байт; по умолчанию читается вся строка. - Для простой итерации предпочитайте
for line in fileручному циклуwhile. - Когда нужны все строки в памяти,
readlines()удобен. - Всегда закрывайте файлы; оператор
withделает это автоматически.
Python
- Освоение String.indexOf() в Java: поиск подстрок и практические примеры
- Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
- Мастерство строк форматирования format() в Python: понятные примеры
- Мастерство метода String.find() в Python: синтаксис, примеры и альтернативы
- Освоение лямбда-функций Python: практические примеры и лучшие практики
- Функция round() в Python: подробное объяснение с практическими примерами
- Освоение функции map() в Python: синтаксис, примеры и лучшие практики
- Python timeit(): измерение времени выполнения с практическими примерами
- Counter в collections Python: эффективное подсчёт, обновление и арифметические операции
- Понимание type() и isinstance() в Python: практические примеры