Чтение файла построчно в список
В этом примере разберём, как открыть текстовый файл и считать его содержимое построчно в список. Покажем два способа: через метод readlines() и через генератор списка.
Что нужно знать
Перед изучением примера полезно понимать:
Работа с файлами Python — работа с файлами
Пример 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() убирает перенос строки справа.