Вопрос-Ответ

How to read a file line-by-line into a list?

Как преобразовать файл построчно в список?

Как мне прочитать каждую строку файла в Python и сохранить каждую строку как элемент списка?

Я хочу прочитать файл построчно и добавить каждую строку в конец списка.

Переведено автоматически
Ответ 1

Этот код прочитает весь файл в память и удалит все пробельные символы (новые строки и пробелы) в конце каждой строки:

with open(filename) as file:
lines = [line.rstrip() for line in file]

Если вы работаете с большим файлом, то вместо этого вам следует читать и обрабатывать его построчно:

with open(filename) as file:
for line in file:
print(line.rstrip())

В Python 3.8 и выше вы можете использовать цикл while с оператором walrus вот так:

with open(filename) as file:
while line := file.readline():
print(line.rstrip())

В зависимости от того, что вы планируете делать со своим файлом и как он был закодирован, вы также можете вручную установить режим доступа и кодировку символов:

with open(filename, 'r', encoding='UTF-8') as file:
while line := file.readline():
print(line.rstrip())
Ответ 2

Смотрите Ввод и вывод:

with open('filename') as f:
lines = f.readlines()

или с удалением символа новой строки:

with open('filename') as f:
lines = [line.rstrip('\n') for line in f]
Ответ 3

Это более явно, чем необходимо, но делает то, что вы хотите.

with open("file.txt") as file_in:
lines = []
for line in file_in:
lines.append(line)
Ответ 4

Это приведет к получению "массива" строк из файла.

lines = tuple(open(filename, 'r'))

open возвращает файл, который можно повторять. Когда вы повторяете файл, вы получаете строки из этого файла. tuple может использовать итератор и создавать экземпляр кортежа для вас из предоставленного вами итератора. lines - это кортеж, созданный из строк файла.

2024-01-29 15:08 python string file