Perl в Python? - PullRequest
       30

Perl в Python?

7 голосов
/ 16 декабря 2009

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

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

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

1 Ответ

13 голосов
/ 17 декабря 2009

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

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

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

...