7

Python 内からアクセスしたい Perl ライブラリがあります。どのように使用できますか?

参考までに、ソフトウェアはNCleanerです。HTML文字列をテキストに変換するためにPython内から使用したいと思います。(はい、私は aaronsw の Python html2text について知っています。ボイラープレートを削除するため、NCleaner の方が優れています。)

Perl プログラムをスクリプトとして実行して繰り返し呼び出したくありません。最初の読み込み時間が長く、何度も呼び出しているからです。

4

1 に答える 1

13

pyperlは python 用の perl 埋め込みを提供しますが、正直なところ、それは私が望む方法ではありません。Roboto の提案に賛成です。NCleaner を実行するスクリプトを作成し (stdin から stdout への処理、または一時ファイルでの作業のいずれか適切な方)、それをサブプロセスとして実行します。

または、NCleaner のページで C 実装があることを確認したので、Python が C コードにバインドする機能を使用して、NCleaner C 実装をラップする Python モジュールを作成します。そうすれば、将来、Python から NCleaner を呼び出すことに対する答えは、「ここで、このモジュールを使用してください」になります。

脚注: Inline::Pythonは pyperl よりも優れたコードであり、代わりにそれを使用することをお勧めしますが、Python が最初に Perl から呼び出されたときに Python が Perl にコールバックすることのみをサポートします -- Perl を Python に埋め込む機能は可能性のある将来の機能としてリストされていますが、2001 年からそうされているので、息を止めないでください。

于 2009-12-16T21:09:16.630 に答える