Как я могу использовать библиотеки Perl из Python? - PullRequest
6 голосов
/ 15 апреля 2009

Я написал несколько библиотек Perl (фактически классов Perl), и я хочу использовать некоторые из них в своем приложении Python. Есть ли естественный способ сделать это без использования SWIG или написания Perl API для Python. Я прошу аналогичный способ PHP Perl интерфейс . Если нет такой работы для Perl в Python. Какой самый простой способ использовать классы Perl в python?

Ответы [ 5 ]

8 голосов
/ 15 апреля 2009

Лично я бы представлял библиотеки Perl как сервисы через XML / RPC или какой-либо другой подобный механизм. Таким образом, вы можете вызывать их из своего приложения Python очень естественным образом.

4 голосов
/ 15 апреля 2009

Я не пробовал, но Inline :: Python позволяет вам вызывать Python из Perl.

Вы должны иметь возможность использовать небольшой Perl для загрузки вашего приложения Python, а затем использовать пакет perl Python, который поставляется с I :: P для доступа к вашим объектам Perl.

3 голосов
/ 15 апреля 2009

«Какой самый простой способ использовать классы Perl в python?»

легкий. Перепишите Perl на Python и покончите с этим. Шутки в сторону. Просто выберите один язык - это проще всего. Оставить Perl позади - не большая потеря. Переписывание классов на Python может дать вам возможность улучшить их небольшими способами.

Не так просто. Запустите приложение Perl, используя модуль Python subprocess . Это использует классы Perl в приложении Perl без проблем. Вы можете легко создавать конвейеры, чтобы Perl получал данные из Python и выводил данные для Python

someApp.py | something.pl | finalStep.py

Преимущество этого состоит в том, что ваше приложение разбивается на три параллельных процесса, которые используют много ресурсов процессора и работают (иногда) в 1/3 времени.

Все остальное гораздо проще.

2 голосов
/ 15 апреля 2009

Вы только что упустили шанс запустить Python на Parrot VM вместе с Perl. 1 апреля , 2009 PEP 401 был опубликован и один из Официальных актов FLUFL гласил:

  • Признавая, что C - это язык 20-го века, почти полностью отвергнутый программистами в возрасте до 30 лет, реализация CPython завершится с выпуском Python 2.6.2 и 3.0.2. После этого эталонная реализация Python будет нацелена на виртуальную машину Parrot . Альтернативные реализации Python (например, Jython, IronPython и PyPy) официально не приветствуются, но допускаются.
1 голос
/ 15 апреля 2009

Выезд PyPerl .

ВНИМАНИЕ: PyPerl в настоящее время не поддерживается, поэтому не используйте его, если вам нужна стабильность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...