Perl внутри Python?

есть библиотека Perl, к которой я хотел бы получить доступ из Python. Как я могу его использовать?

FYI, программное обеспечение NCleaner. Я хотел бы использовать его из Python для преобразования строки HTML в текст. (Да, я знаю о Python html2text от aaronsw. NCleaner лучше, потому что он удаляет котельную плиту.)

Я не хочу запускать программу Perl как скрипт и вызывать ее повторно, потому что она имеет дорогостоящее начальное время загрузки, и я вызываю ее много раз.

1 ответов


pyperl обеспечивает внедрение perl для python, но, честно говоря, это не так, как я бы пошел. Я поддерживаю предложение Roboto-написать сценарий, который запускает NCleaner (либо обработка от stdin до stdout, либо работа над временными файлами, в зависимости от того, какой из них более подходит), и запустить его как подпроцесс.

или, Поскольку я вижу на странице NCleaner, что он имеет реализацию C, используйте любые средства Python для привязки к коду C и напишите модуль Python, который обертывает NCleaner Си. Тогда в будущем ответ на вызов NCleaner из Python будет просто "здесь, используйте этот модуль."

Примечание: Inline:: Python лучший код, чем pyperl, и я бы предложил использовать его вместо этого, но он поддерживает только обратный вызов Python в Perl, когда Python вызывается из Perl в первую очередь-возможность встраивания Perl в Python указана как возможная будущая функция, но это было так с 2001 года, поэтому не держите свой дыхание.