М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет153/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   149   150   151   152   153   154   155   156   ...   334
Байланысты:
Изучаем Python

title = "Alice in Wonderland"
>>> 
title.split()
['Alice', 'in', 'Wonderland']
Метод 
split()
разделяет строку на части по всем позициям, в которых обнаружит 
пробел, и сохраняет все части строки в элементах списка. В результате создается 
список слов, входящих в строку (впрочем, вместе с некоторыми словами могут 
храниться знаки препинания.) Для подсчета слов в книге мы вызовем 
split()
для всего текста, а затем подсчитаем элементы списка, чтобы получить примерное 
количество слов в тексте:
filename = 'alice.txt'
try:
with open(filename, encoding='utf-8') as f:
contents = f.read()
except FileNotFoundError:
print(f"Sorry, the file {filename} does not exist.")
else:
# Подсчет приблизительного количества строк в файле.

words = contents.split()

num_words = len(words)

print(f"The file {filename} has about {num_words} words.")
Затем я переместил файл 
alice .txt
в правильный каталог, чтобы код в блоке 
try
был выполнен без ошибок. В точке 

программа загружает текст в переменную 


212
Глава 10 • Файлы и исключения
contents
, которая теперь содержит весь текст в виде одной длинной строки и ис-
пользует метод 
split()
для получения списка всех слов в книге. Запрашивая длину 
этого списка при помощи функции 
len()
, мы получаем неплохое приближенное 
значение количества слов в исходной строке 

. В точке 

выводится сообщение 
с количеством слов, найденных в файле. Этот код помещен в блок 
else
, потому что 
он должен выводиться только в случае успешного выполнения блока 
try
. Выход-
ные данные программы сообщают, сколько слов содержит файл 
alice .txt
:
The file alice.txt has about 29465 words. 
Количество слов немного завышено, потому что в нем учитывается дополнительная 
информация, включенная в текстовый файл издателем, но в целом оно довольно 
точно оценивает объем «Алисы в Стране чудес».
Работа с несколькими файлами
Добавим еще несколько файлов с книгами для анализа. Но для начала переместим 
основной код программы в функцию с именем 
count_words()
. Это упростит про-
ведение анализа для нескольких книг:


Достарыңызбен бөлісу:
1   ...   149   150   151   152   153   154   155   156   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет