Как мне прочитать каждую строку файла в Python и сохранить каждую строку как элемент списка?
Я хочу прочитать файл построчно и добавить каждую строку в конец списка.
Переведено автоматически
Ответ 1
Этот код прочитает весь файл в память и удалит все пробельные символы (новые строки и пробелы) в конце каждой строки:
withopen(filename) as file: lines = [line.rstrip() for line in file]
Если вы работаете с большим файлом, то вместо этого вам следует читать и обрабатывать его построчно:
withopen(filename) as file: for line in file: print(line.rstrip())
В Python 3.8 и выше вы можете использовать цикл while с оператором walrus вот так:
withopen(filename) as file: while line := file.readline(): print(line.rstrip())
В зависимости от того, что вы планируете делать со своим файлом и как он был закодирован, вы также можете вручную установить режим доступа и кодировку символов:
withopen(filename, 'r', encoding='UTF-8') as file: while line := file.readline(): print(line.rstrip())
withopen('filename') as f: lines = [line.rstrip('\n') for line in f]
Ответ 3
Это более явно, чем необходимо, но делает то, что вы хотите.
withopen("file.txt") as file_in: lines = [] for line in file_in: lines.append(line)
Ответ 4
Это приведет к получению "массива" строк из файла.
lines = tuple(open(filename, 'r'))
open возвращает файл, который можно повторять. Когда вы повторяете файл, вы получаете строки из этого файла. tuple может использовать итератор и создавать экземпляр кортежа для вас из предоставленного вами итератора. lines - это кортеж, созданный из строк файла.