Создание списка строк по содержимому файла

We use cookies. Read the Privacy and Cookie Policy

При использовании with объект файла, возвращаемый вызовом open(), доступен только в пределах содержащего его блока with. Если вы хотите, чтобы содержимое файла оставалось доступным за пределами блока with, сохраните строки файла в списке внутри блока и в дальнейшем работайте с полученным списком. Одни части файла можно обработать немедленно и отложить другие для обработки в будущем.

В следующем примере строки pi_digits.txt сохраняются в списке в блоке with, после чего выводятся за пределами этого блока:

filename = 'pi_digits.txt'

with open(filename) as file_object:

(1) . .lines = file_object.readlines()

(2)for line in lines:

. .print(line.rstrip())

В точке (1) метод readlines() последовательно читает каждую строку из файла и сохраняет ее в списке. Список сохраняется в переменной lines, с которой можно продолжить работу после завершения блока with. В точке (2) в простом цикле for выводятся все элементы списка lines. Так как каждый элемент lines соответствует ровно одной строке файла, вывод точно соответствует его содержимому.