私はたくさんのPerlライブラリ(実際にはPerlクラス)を書いており、私はそれらを私のPythonアプリケーションで使いたいと思っています。 SWIGを使用したり、Python用のPerl APIを書かなければ、これを行うための自然な方法がありますか? PHPのPerl interfaceと同様の方法を求めています。 PythonでPerlのような種類の作業がない場合。 PythonでPerlクラスを使用する最も簡単な方法は何ですか?PythonのPerlライブラリを使用するにはどうすればよいですか?
答えて
私は個人的に、XML/RPCやその他のメカニズムを介してサービスとしてPerlライブラリを公開します。そうすればPythonアプリケーションから自然に呼び出すことができます。
チェックアウトPyPerl
警告:PyPerlは現在メンテナンスされていないため、安定性が必要な場合は使用しないでください。
実際には、安定性は私にとって重要な指標です。 – systemsfault
おそらくあなたのPerlクラスをPythonに移植するのが最善でしょう。 AFAIK、PyPerlは現在、PythonコードからPerlコードを呼び出す唯一の簡単な方法です。 – splicer
、またはpythonコードをperl:Dに移植します。perlコードの量がPythonコードの量よりはるかに多いので、時間がかかりません。 しかし、この場合、私はPythonでコードを書く機会を逃してしまいますが、これは私が推測できることです:)。 – systemsfault
"PythonでPerlのクラスを使用する最も簡単な方法は何ですか?"
最も簡単です。 PerlをPythonに書き直してやる。真剣に。一番簡単なのは言語—を選択するだけです。 Perlを後ろに残すことは大きな損失ではありません。クラスをPythonに書き直すと、少しずつ改良する機会が与えられます。
あまり簡単ではありません。 Pythonのsubprocessモジュールを使用してPerlアプリケーションを実行します。これは問題なくPerlアプリケーションでPerlクラスを使用します。 PerlはPythonのからの入力を取得し、Pythonの
someApp.py | something.pl | finalStep.py
これは、1に(時々)、3つの並行プロセスにあなたのアプリケーションを壊すプロセッサリソースの多くを使用して実行されているという利点を有しへの出力を生成しますので、あなたは簡単にパイプラインを作成することができます/ 3時間。
他のすべてはそれほど簡単ではありません。
実際には、私はPythonのためのPerl APIによってあなたが2番目のステップで説明したのと同じことを意味しようとしました。私はPerlライブラリがpmファイルであり、スタンドアロンの実行可能ファイルではないので、Python用の小さなapiを提供する必要があります。したがって、pyライブラリにアクセスできるplファイルを作成する必要があります。 – systemsfault
私はそれを試していませんが、Inline::PythonはPerlからPythonを呼び出すことができます。
あなたはPythonアプリケーションを読み込み、PerlオブジェクトにアクセスするためにI :: Pに付属のperl
pythonパッケージを使用するために、perlの細いビットを使用できるはずです。
- 1. C++ライブラリ用のPerlバインディングを作成するにはどうすればよいですか?
- 2. Pythonのcursesライブラリで拡張文字を使用するにはどうすればよいですか?
- 3. rPythonを使用してRパッケージ内にPythonライブラリをインポートするにはどうすればよいですか?
- 4. riot.jsでルータを使用する際にライブラリを使用するにはどうすればよいですか?
- 5. MySQLを使用してperlで接続プーリングを使用するにはどうすればよいですか?
- 6. データベースでPythonを使用するにはどうすればよいですか?
- 7. Pythonでtextcatを使用するにはどうすればよいですか?
- 8. Pythonでカレンダークラスを使用するにはどうすればよいですか?
- 9. jsfiddleの使用:underscore.jsまたはbackbone.jsライブラリを使用するにはどうすればよいですか?
- 10. PythonのzeepライブラリでAnyObjectメソッドを使用するにはどうすればいいですか?
- 11. javascriptライブラリを使用してemscriptenでSocket.ioを使用するにはどうすればよいですか?
- 12. インポートされたライブラリがPythonスクリプトで '使用されている'かどうかを確認するにはどうすればよいですか?
- 13. StompとActiveMQ(およびPerl)でトランザクションを使用するにはどうすればよいですか?
- 14. UINavigationBarをUINavigationController(このライブラリで使用する)にするにはどうすればよいですか?
- 15. WindowsでPerlプログラムのメモリ使用量をプログラムで確認するにはどうすればよいですか?
- 16. Cライブラリを使ってPythonのpypiパッケージを作成するにはどうすればよいですか?
- 17. 別のバージョンのopensslをperlで使用するにはどうすればよいですか?
- 18. Perlプログラム内でcURLまたはWgetを使用するにはどうすればよいですか?
- 19. Perl SVN :: Clientでペグリビジョンを使うにはどうすればいいですか?
- 20. スタンドアロンのPerlスクリプトでMojoliciousレンダリングを使用するにはどうすればよいですか?
- 21. PerlのCAM :: PDFでPDF 1.6文書を使用するにはどうすればよいですか?
- 22. Perlでサブルーチンの引数としてハッシュを使用するにはどうすればよいですか?
- 23. Perlでサブルーチンの引数としてハッシュを使用するにはどうすればよいですか?
- 24. Perl POD由来のmanページでUnicode文字を使用するにはどうすればよいですか?
- 25. xml Webservices用にC#でFlatbuffersライブラリを使用するにはどうすればよいですか?
- 26. PerlでCSSを検索するにはどうすればよいですか?
- 27. Perlを使用してファイルから略語を抽出するにはどうすればよいですか?
- 28. Perlを使用してパスからファイル名を抽出するにはどうすればよいですか?
- 29. Pythonでサロゲートペアを使用するにはどうすればいいですか?
- 30. Perlを使用してWebページのスクレイピングを開始するにはどうすればよいですか?
現時点では、私はPythonで書き直すか、ソケットを使って2つの言語を通信するためのAPIを実装する2つのオプションを検討しています。 – systemsfault