Чтение файлов

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

В этом модуле мы изучим, как работать с файлами в Python: открывать их, читать содержимое различными способами и корректно закрывать. Вы познакомитесь с функцией open(), менеджером контекста with, который обеспечивает безопасность работы с файлами, и методами чтения: read(), readline() и readlines(). Также мы разберем, как перебирать строки файла в цикле. Эти навыки необходимы для обработки текстовых данных, логов и конфигурационных файлов.

Список тем

Открытие и закрытие файла

id: 40057_task1

Заполните пропуски, чтобы открыть файл 'example.txt' в режиме чтения ('r'), прочитать его содержимое и затем закрыть файл. Это классический способ работы с файлами без менеджера контекста.

Заполните пропуски
file = input1S('example.txt', 'r')
content = file.read()
print(content)
file.input2S()
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Структура менеджера контекста with

id: 40057_task2

Восстановите правильный порядок строк для чтения файла с использованием конструкции `with`. Этот способ предпочтительнее, так как он автоматически закрывает файл даже при возникновении ошибок.

Расставьте строки в правильном порядке
print(content)
content = f.read()
    content = f.read()
with open('data.txt', 'r') as f:
f.close()
Сообщения
Проверить
Показать подсказку

Методы чтения файлов

id: 40057_task3

Сопоставьте методы файлового объекта с их описанием. Важно понимать разницу между чтением всего файла сразу и построчным чтением.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Читает весь файл целиком в одну строку
Читает одну строку (до символа \n)
Читает все строки и возвращает список строк
.readline()
.readlines()
.read()
Сообщения
Проверить
Показать подсказку

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

id: 40057_task4

Файл `alpha.txt` содержит строку `abcdefgh`. Мы открываем файл и вызываем метод `.read(3)`. Что выведет код?

Выберите правильный вариант ответа
# Содержимое alpha.txt: abcdefgh

with open('alpha.txt', 'r') as f:
    print(f.read(3))
Сообщения
Проверить
Показать подсказку

Исправьте ошибки в коде чтения

id: 40057_task5

В этом коде допущены две синтаксические ошибки при использовании менеджера контекста `with`. Найдите и исправьте их.

Найдите ошибку и исправьте
with open('log.txt') variable f
    data = f.read()
print(len(data))
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Обработка строк из файла

id: 40057_task6

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

Нужно правильно расставить в пропуски предложенные варианты
with input1S('names.txt') as f:
    for line in input2S:
        clean_line = line.input3S()
        print(clean_line)
f
open
strip
split
readlines
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Подсчет строк в файле

id: 40057_task7

Соберите код, который открывает файл `story.txt` и считает количество строк в нем, используя цикл `for`.

Перетяните в правильном порядке строки из одного блока в другой
for line in file:
count = 0
    count += 1
with open('story.txt', 'r') as file:
    for line in file.read():
print(f"Total lines: {count}")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Результат чтения списка строк

id: 40057_task8

Представьте, что файл `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))
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру