• Python调用Java(基于Ubuntu 18.04)



    最近实习,需要使用Python编程,其中牵涉到一些算法的编写。由于不熟悉Python,又懒得从头学,而且要写的算法自己之前又用Java实现过,就想着能不能用Python调用Java。经过查找资料,方法如下:

    Step 1——安装JPype扩展包

    想要通过Python调用Java,需要借助JPype组件,安装方式如下:

    # Python 2.7
    pip install jpype1
    # Python 3.*
    # pip3 install jpype

    Step 2——Java文件打包为JAR

    安装好后,需要将需要调用的Java文件打包为JAR格式用于调用,示例代码如下:

    // testDemo.java
    public class testDemo {
        public String inputTest(String input) {
            return "Input content: " + input;
        }
        public int calculate(int a,int b) {
            return a + b;
        }
    }

    打包JAR

    # 编译Java程序
    javac testDemo.java
    # 打包成JAR
    jar cvf testDemo.jar testDemo.class

    Step 3——Python调用

    在得到JAR包后,就能通过Python进行调用了,示例代码如下:

    # -*- coding:utf-8 -*-
    from jpype import *
    import os
    
    # 启动Java环境
    startJVM("/usr/local/jdk1.8.0_211/jre/lib/amd64/server/libjvm.so", "-ea", 
        "-Djava.class.path=%s" % (os.getcwd() + "/Test.jar"))
    
    # 加载自定义的Java Class
    JClass = JClass("testDemo")
    jc = JClass()
        
    # 获取Java标准库打印函数
    jprint = java.lang.System.out.println    
    # 调用函数,并输出返回值
    jprint(jc.input("aloha"))
    jprint(jc.calculate(1, 2))
        
    # 关闭Java环境
    shutdownJVM()

    2019.06.06 22:47——Weo

  • 相关阅读:
    python自动化测试基础篇no.1
    (易忘篇)java8新特性
    (易忘篇)java基础编程高级阶段5
    (易忘篇)java基础编程高级阶段4
    (易忘篇)java基础编程高级阶段2
    (易忘篇)java基础编程高级阶段1
    (易忘篇)java基础编程难点5
    (易忘篇)java基础编程难点4
    (易忘篇)java基础编程难点3
    (易忘篇)java基础编程难点2
  • 原文地址:https://www.cnblogs.com/weosuper/p/10987194.html
Copyright © 2020-2023  润新知