我如何使用Python的Perl库?

时间:2009-04-15 09:09:59

标签: python perl api

我编写了一堆Perl库(实际上是Perl类),我想在我的Python应用程序中使用它们中的一些。有没有一种自然的方法可以在不使用SWIG或为Python编写Perl API的情况下执行此操作。我要求PHP的Perl interface采用类似的方法。如果在Python中没有Perl这样的工作。在python中使用Perl类的最简单方法是什么?

5 个答案:

答案 0 :(得分:8)

就个人而言,我会通过XML / RPC或其他一些此类机制将Perl库作为服务公开。这样,您就可以以非常自然的方式从Python应用程序中调用它们。

答案 1 :(得分:4)

我还没有尝试过,但是Inline::Python允许你从Perl调用Python。

你应该能够使用一小块perl来加载你的python应用程序,然后使用I :: P附带的perl python包来访问你的Perl对象。

答案 2 :(得分:3)

“在python中使用Perl类的最简单方法是什么?”

最容易的。将Perl重写为Python并完成它。认真。只选择一种语言 - 这是最简单的。离开Perl并不是很大的损失。将类重写为Python可能会让您有机会以小的方式改进它们。

不那么容易。使用Python的subprocess模块运行Perl应用程序。它使用Perl应用程序中的Perl类没有问题。您可以轻松地创建管道,以便Perl从Python获取输入并生成输出到Python

someApp.py | something.pl | finalStep.py

这样做的好处是可以将应用程序分成三个并发进程,占用大量处理器资源并在1/3时间内运行(有时)。

其他一切都不那么容易了。

答案 3 :(得分:2)

您错过了让Python与Perl一起运行{{1}}的机会。在 4月1日,2009 Parrot VM已发布,其中一个 FLUFL官方法案宣读:

  
      
  • 认识到C是一种20世纪的语言,几乎被30岁以下的程序员拒绝,CPython的实现将随着Python 2.6.2和3.0.2的发布而终止。此后, Python的参考实现将针对Parrot虚拟机。 Python的替代实现(例如Jython,IronPython和PyPy)正式受到劝阻但容忍。
  •   

答案 4 :(得分:1)

查看PyPerl

警告:PyPerl目前尚未维护,因此如果您需要稳定性,请不要使用它。