代码之家  ›  专栏  ›  技术社区  ›  mikewaters

如何使用Python中的Perl模块?

  •  4
  • mikewaters  · 技术社区  · 14 年前

    有一个Perl模块为我的Python应用程序提供了完美的功能。 我有办法利用它吗?(它是 复杂的

    我不想每次使用都生成一个子流程,因为我需要它几十万次(它是一种特定类型的数据解析器)。

    编辑:要求模块。它是 Mail::DeliveryStatus::BounceParser . 它将邮件传递状态通知与可能指示邮件被退回的字符串列表相匹配。(它通过大量regex和其他测试运行DSN body/header。这是一个非常棒的模块。)

    4 回复  |  直到 14 年前
        1
  •  5
  •   pyfunc    14 年前

    我不确定这是否仍然有效,但是 你可能感兴趣

    或者,可以使用perl模块创建一个完整的进程,并使用IPC、socket机制从python和perl进程来回传递数据和结果。

        2
  •  4
  •   daxim Fayland Lam    14 年前

    我知道您可以在Perl中使用Python Inline::Python 但这不是你真正的问题。也许Python中也有类似的功能。也许有点像 perlmodule ?

        3
  •  2
  •   Jason    14 年前

        4
  •  -3
  •   S.Lott    14 年前

    我不想每次使用都生成一个子流程,因为我需要它几十万次(它是一种特定类型的数据解析器)。

    糟糕的政策。基本的linuxshell一直在进行这种进程分叉。避免进程生成是一个糟糕的限制。

    但是,你可以轻而易举地做到这一点。

    python prepare_data.py | perl my_magic_module.pl | python whatever_else.py
    

    将Python分成两部分:调用perl之前完成的部分和调用perl之后完成的部分。

    组装一个高性能的管道,该管道(a)同时执行所有三个步骤,(b)不分叉很多进程。