ホームページ  >  記事  >  バックエンド開発  >  Jython を使用して Python 機能を Java アプリケーションに統合するにはどうすればよいですか?

Jython を使用して Python 機能を Java アプリケーションに統合するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 08:19:011038ブラウズ

How Can I Integrate Python Functionality into Java Applications with Jython?

Jython を使用した Python 機能の Java への統合

Java 仮想マシン用の Python 実装である Jython により、Python 機能のシームレスな統合が可能になりますJava アプリケーションに組み込みます。 Jython は Python 環境内で Java コードを実行するためによく使用されますが、双方向の統合機能も提供します。

Java からの Python 関数の呼び出し

次を使用して Java コードから Python 関数を呼び出します。 Jython の場合は、次の手順に従ってください:

  1. Jython ライブラリをインポートします: Jython ライブラリを Java プロジェクトのクラスパスに追加します。
  2. Python インタープリタを作成します: new PythonInterpreter() を使用して、Java 内で Python ランタイム環境を作成します。
  3. Python モジュールの実行: exec メソッドを使用して、必要な Python モジュールをインポートして実行します。
  4. Python 関数を取得します: get メソッドを使用して、目的の Python 関数への参照を取得します。
  5. Python 関数を呼び出す: __call__ を使用して Python 関数を呼び出し、渡します。引数に PyObject オブジェクトとして入力します。
  6. 結果の変換: __tojava__ を使用して、返された PyObject を Java データ型に変換します。

使用例

以下は、文字列を受け入れて文字列を返す Python 関数 "funcName" を呼び出す方法の簡略化された例です。

<code class="java">PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("import sys\nsys.path.append('pathToModules')\nimport yourModule");
PyObject someFunc = interpreter.get("funcName");
PyObject result = someFunc.__call__(new PyString("Test!"));
String realResult = (String) result.__tojava__(String.class);</code>

重要な考慮事項

2021 年現在、Jython は Python 3.x をサポートしていません。したがって、Python コードが Jython でサポートされている Python バージョンと互換性があることを確認してください。さらに、Python コードが Jython でサポートされていない C 拡張機能に依存している場合は、Java 6 の Python インタープリターを使用するか、JNI (Java Native Interface) を利用するなどの代替方法が必要になる場合があります。

以上がJython を使用して Python 機能を Java アプリケーションに統合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。