Глядя на сайт bible.cc
, кажется, что капитализация имеет значение.Вам нужно genesis
, а не Genesis
, которое вы можете получить, изменив строку на book = my_text.split()[0].lower()
.
Редактировать : Остальное на самом деле не относится к ошибке, но есть и другие советы.
Вы можете немного упростить свой код, используя множественное присваивание, когда у вас есть два или более значений, выводимых из одной операции.объединить список строк вместе без использования цикла for.Используйте join
, где вызывающая его строка будет использоваться в качестве разделителя между элементами списка (в основном противоположность split
).
stuffToSearch = "".join(webpage)
Я думаю, что нет ничего плохого в поиске страницы,хотя я думаю, что readlines
будет немного более эффективным, чем read
.То же самое с регулярным выражением;вам не нужно компилировать его, если вы используете его только один раз.Вы, вероятно, могли бы легко придумать выражение, не зависящее от книги и главы, которое можно использовать многократно.