Байланысты: Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )
Глава 10 • Файлы и исключения
for line in lines:
print(line.rstrip())
В точке
метод
readlines()
последовательно читает каждую строку из файла
и сохраняет ее в списке. Список сохраняется в переменной
lines
, с которой можно
продолжить работу после завершения блока
with
. В точке
в простом цикле
for
выводятся все элементы списка
lines
. Так как каждый элемент
lines
соответствует
ровно одной строке файла, вывод точно соответствует его содержимому.
Работа с содержимым файла
После того как файл будет прочитан в память, вы сможете обрабатывать данные
так, как считаете нужным. Для начала попробуем построить одну строку со всеми
цифрами из файла без промежуточных пропусков:
pi_string.py filename = 'pi_digits.txt'
with open(filename) as file_object:
lines = file_object.readlines()
pi_string = ''
for line in lines:
pi_string += line.rstrip()
print(pi_string)
print(len(pi_string))
Сначала программа открывает файл и сохраняет каждую строку цифр в списке —
точно так же, как это делалось в предыдущем примере. В точке
создается пере-
менная
pi_string
для хранения цифр числа «пи». Далее следует цикл, который
добавляет к
pi_string
каждую серию цифр, из которой удаляется символ новой
строки
. В точке
программа выводит строку и ее длину:
3.1415926535 8979323846 2643383279
36
Переменная
pi_string
содержит пропуски, которые присутствовали в начале
каждой строки цифр. Чтобы удалить их, достаточно использовать
strip()
вместо
rstrip()
:
filename = 'pi_30_digits.txt'
with open(filename) as file_object:
lines = file_object.readlines()
pi_string = ''
for line in lines:
pi_string += line.strip()
print(pi_string)
print(len(pi_string))
Чтение из файла
191 В итоге мы получаем строку, содержащую значение «пи» с точностью до 30 знаков.
Длина строки равна 32 символам, потому что в нее также включается начальная
цифра 3 и точка:
3.141592653589793238462643383279
32