202
Глава 10 •
Файлы и исключения
...
for line in lines:
pi_string += line.strip()
print(pi_string)
print(len(pi_string))
В итоге мы получаем строку, содержащую значение «пи» с точностью до 30 знаков.
Длина строки равна 32 символам, потому что в нее также включается начальная
цифра 3 и точка:
3.141592653589793238462643383279
32
ПРИМЕЧАНИЕ
Читая данные из текстового файла, Python интерпретирует весь текст
в файле как строку . Если вы читаете из текстового файла число и хотите работать с ним
в числовом контексте, преобразуйте его в целое число функцией
int()
или в
веще-
ственное
число функцией
float()
.
Большие файлы:
миллион цифр
До настоящего момента мы ограничивались анализом текстового файла, кото-
рый состоял всего из трех строк, но код этих примеров будет работать и с много
большими файлами. Начиная с текстового файла, содержащего значение «пи» до
1 000 000 знаков (вместо 30), вы сможете создать одну строку, которая содержит
все эти цифры. Изменять программу вообще не придется — достаточно передать ей
другой файл. Также мы ограничимся выводом первых 50 цифр, чтобы не пришлось
ждать, пока в терминале не прокрутится миллион знаков:
pi_string.py
filename = 'pi_million_digits.txt'
with open(filename) as file_object:
lines = file_object.readlines()
pi_string = ''
for line in lines:
pi_string += line.strip()
print(f"{pi_string[:52]}...")
print(len(pi_string))
Из выходных данных видно, что строка действительно содержит значение «пи»
с точностью до 1 000 000 знаков:
3.14159265358979323846264338327950288419716939937510...
1000002
Python не устанавливает никаких ограничений на длину данных, с которыми вы
можете работать. Она ограничивается разве что объемом памяти вашей системы.