dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

python から java プログラムを実行

2021-09-20 00:20:09 | python
python から java プログラムを実行する方法のメモ。

python から java プログラムを実行するには、py4j を使います。
py4j のインストール方法は以下の通り。
pip install py4j

自分の環境では以下に jar ファイルがインストールされました。
/usr/local/share/py4j/py4j0.10.9.2.jar


まず、java プログラム(GwTest1.java)を作成します。
import py4j.GatewayServer;

public class GwTest1 {
    public static void main(String[] args) {
	GwTest1 app = new GwTest1();
	GatewayServer server = new GatewayServer(app);
	server.start();
    }
}

そして、java プログラムをコンパイル・実行します。
javac -classpath /usr/local/share/py4j/py4j0.10.9.2.jar GwTest1.java
java -classpath .:/usr/local/share/py4j/py4j0.10.9.2.jar GwTest1

次に、python プログラムを作成します。
ここでは、java の Date クラスで日付を取得します。
import sys
from py4j.java_gateway import JavaGateway

def main():
    gw = JavaGateway()

    date = gw.jvm.java.util.Date()
    print(date)

    return 0

if __name__ == '__main__':
    res = main()
    exit(res)

上記のプログラムを実行します。
$ python test1.py
Sun Sep 19 08:33:39 PDT 2021

java の Date クラスにより、python で日付情報を取得することが確認できました。

この記事についてブログを書く
« python での yaml ファイルの... | トップ | python から kuromoji を実行 »

python」カテゴリの最新記事