Чтение файла построчно в список

В этом примере разберём, как открыть текстовый файл и считать его содержимое построчно в список. Покажем два способа: через метод readlines() и через генератор списка.

Что нужно знать

Перед изучением примера полезно понимать:

Пример 1. Через readlines()

Пусть содержимое файла data_file.txt такое:

honda 1948
mercedes 1926
ford 1903

Исходный код

with open("data_file.txt") as f:
    content_list = f.readlines()

# print the list
print(content_list)

# remove new line characters
content_list = [x.strip() for x in content_list]
print(content_list)

Вывод

['honda 1948\n', 'mercedes 1926\n', 'ford 1903']
['honda 1948', 'mercedes 1926', 'ford 1903']

Метод readlines() возвращает список строк из файла.

  • Сначала открываем файл и читаем его методом readlines().

  • Чтобы убрать символы переноса строки (\n) в конце каждой строки, применяем метод strip() к каждому элементу через генератор списка.

Пример 2. Через цикл и генератор списка

with open('data_file.txt') as f:
    content_list = [line for line in f]

print(content_list)

# removing the characters
with open('data_file.txt') as f:
    content_list = [line.rstrip() for line in f]

print(content_list)

Вывод

['honda 1948\n', 'mercedes 1926\n', 'ford 1903']
['honda 1948', 'mercedes 1926', 'ford 1903']

Тот же результат можно получить циклом for прямо по файловому объекту. На каждой итерации читается одна строка, которая сразу сохраняется в список content_list. Метод rstrip() убирает перенос строки справа.