В этом модуле мы изучим, как работать с файлами в Python: открывать их, читать содержимое различными способами и корректно закрывать. Вы познакомитесь с функцией open(), менеджером контекста with, который обеспечивает безопасность работы с файлами, и методами чтения: read(), readline() и readlines(). Также мы разберем, как перебирать строки файла в цикле. Эти навыки необходимы для обработки текстовых данных, логов и конфигурационных файлов.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Открытие и закрытие файла
Заполните пропуски, чтобы открыть файл 'example.txt' в режиме чтения ('r'), прочитать его содержимое и затем закрыть файл. Это классический способ работы с файлами без менеджера контекста.
file = input1S('example.txt', 'r')
content = file.read()
print(content)
file.input2S()Структура менеджера контекста with
Восстановите правильный порядок строк для чтения файла с использованием конструкции `with`. Этот способ предпочтительнее, так как он автоматически закрывает файл даже при возникновении ошибок.
print(content)content = f.read() content = f.read()with open('data.txt', 'r') as f:f.close()Методы чтения файлов
Сопоставьте методы файлового объекта с их описанием. Важно понимать разницу между чтением всего файла сразу и построчным чтением.
.readline().readlines().read()Чтение определенного количества символов
Файл `alpha.txt` содержит строку `abcdefgh`. Мы открываем файл и вызываем метод `.read(3)`. Что выведет код?
# Содержимое alpha.txt: abcdefgh
with open('alpha.txt', 'r') as f:
print(f.read(3))Исправьте ошибки в коде чтения
В этом коде допущены две синтаксические ошибки при использовании менеджера контекста `with`. Найдите и исправьте их.
with open('log.txt') variable f data = f.read()print(len(data))Обработка строк из файла
Часто строки в файле заканчиваются символом переноса `\n`, который нужно удалить. Заполните пропуски, чтобы открыть файл, перебрать его построчно и очистить каждую строку от пробельных символов по краям.
with input1S('names.txt') as f:
for line in input2S:
clean_line = line.input3S()
print(clean_line)Подсчет строк в файле
Соберите код, который открывает файл `story.txt` и считает количество строк в нем, используя цикл `for`.
for line in file:count = 0 count += 1with open('story.txt', 'r') as file: for line in file.read():print(f"Total lines: {count}")Результат чтения списка строк
Представьте, что файл `colors.txt` содержит ровно 4 строки: `Red`, `Green`, `Blue`, `Yellow`. Какой результат выдаст функция `len()`, примененная к результату `readlines()`? Введите число.
# Файл colors.txt содержит 4 строки
with open('colors.txt', 'r') as f:
lines = f.readlines()
print(len(lines))