在Python中使用Perl?
我想在Python里面使用一个Perl库。请问我该怎么做呢?
顺便说一下,这个软件是NCleaner。我想在Python中用它把一个HTML字符串转换成文本。(我知道aaronsw的Python库html2text,但NCleaner更好,因为它能去掉多余的内容。)
我不想把Perl程序当作脚本来运行并重复调用,因为它的初始加载时间很长,而我需要多次调用它。
1 个回答
13
pyperl 是一个可以让 Python 嵌入 Perl 的工具,但老实说,我觉得这不是最好的选择。我支持 Roboto 的建议——写一个脚本来运行 NCleaner(可以选择从标准输入到标准输出处理,或者使用临时文件,哪个更合适就用哪个),然后把它作为一个子进程来运行。
或者,我看到 NCleaner 有 C 语言的实现,可以利用 Python 和 C 代码的连接方式,写一个 Python 模块来包装 NCleaner 的 C 实现。这样将来想要从 Python 调用 NCleaner 时,只需要说“来,用这个模块就行了。”
附注:Inline::Python 的代码比 pyperl 更好,我建议使用这个,但它只支持在 Perl 中调用 Python,而不是反过来——把 Perl 嵌入 Python 的功能被列为未来可能的特性,但自 2001 年以来一直没有实现,所以别抱太大希望。