По поводу генераторов парсеров: для использования некоторых из этих инструментов в программах Python вам потребуется интегрирующий их модуль расширения. В таких ситуациях первым делом нужно проверить, не существует ли уже необходимое общедоступное расширение. В особенности для подобных стандартных инструментов весьма вероятно, что кто-то уже написал интегрирующий модуль, который можно использовать в готовом виде, а не писать с самого начала новый.
Конечно, не каждый может подарить все свои модули расширения обществу, но библиотека имеющихся компонентов, которые можно брать бесплатно, растет, и есть сообщество специалистов, к которым можно обратиться с вопросом. Посетите сайт PyPI по адресу http://www.python.org, где можно найти ссылки на программные ресурсы для языка Python, или поищите в Интернете. При наличии во всем мире на момент написания книги миллиона пользователей Python в разделе прототипов можно найти немало. Ес ли коле со не подхо дит: в этой книге мы видели несколько примеров, когда модули из стандартной библиотеки не соответствовали поставленной задаче или имели ограниченную работоспособность. Например, в главе 13, когда мы занимались проблемами пакета email в Python 3.1, нам потребовалось реализовать свои собственные обходные решения. В таких случаях вам может потребоваться писать собственный программный код поддержки инфраструктуры. При нарушении программных зависимостей все еще может торжествовать ситуация «еще не реализовано».
Однако в целом лучше стремиться использовать стандартную поддержку, предоставляемую языком Python в большинстве случаев, даже если это потребует писать собственные обходные решения. В примере с использованием пакета email исправление его проблем выглядит намного проще, чем создание собственного парсера электронной почты с самого начала, — эта задача слишком объемная, чтобы даже пытаться решить ее в этой книге. Подход «батарейки входят в комплект», используемый в Python, может оказаться удивительно производительным, даже когда эти «батарейки» приходится подзаряжать.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011