我想从 Python 中访问一个 Perl 库。我该如何使用它?
仅供参考,该软件是NCleaner。我想在 Python 中使用它来将 HTML 字符串转换为文本。(是的,我知道 aaronsw 的 Python html2text。NCleaner 更好,因为它删除了样板。)
我不想将 Perl 程序作为脚本运行并重复调用它,因为它具有昂贵的初始加载时间并且我多次调用它。
我想从 Python 中访问一个 Perl 库。我该如何使用它?
仅供参考,该软件是NCleaner。我想在 Python 中使用它来将 HTML 字符串转换为文本。(是的,我知道 aaronsw 的 Python html2text。NCleaner 更好,因为它删除了样板。)
我不想将 Perl 程序作为脚本运行并重复调用它,因为它具有昂贵的初始加载时间并且我多次调用它。
pyperl为 python 提供 perl 嵌入,但老实说,这不是我要走的路。我同意 Roboto 的建议——编写一个运行 NCleaner 的脚本(从 stdin 到 stdout 的处理,或处理临时文件,以更合适的为准),并将其作为子进程运行。
或者,因为我从 NCleaner 页面看到它有一个 C 实现,所以使用 Python 具有的任何工具来绑定到 C 代码并编写一个包装 NCleaner C 实现的 Python 模块。那么将来从 Python 调用 NCleaner 的答案将是“在这里,使用这个模块”。
脚注:Inline::Python是比 pyperl 更好的代码,我建议改用它,但它只支持在首先从 Perl 调用 Python 时让 Python 回调 Perl——将 Perl 嵌入 Python 的能力是被列为可能的未来功能,但自 2001 年以来一直如此,所以不要屏住呼吸。