當前位置:首頁 > IT技術 > 編程語言 > 正文

Java與Python混合開發(fā)
2022-02-14 14:20:21


1.Java與Python混合開發(fā)


  1. 我熟練使用的語言是java,java與python的混合開發(fā)怎么實現(xiàn),javaEE+python來實現(xiàn)在線測試工具。以下是一個簡單思路的整理。
    ??<dependency> <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.0</version> </dependency> ????public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); PythonInterpreter interpreter = new PythonInterpreter(); interpreter.exec("a=[5,4,3,2,1]"); interpreter.exec("print sorted(a)"); } } ??
  2. 上面的方法過于繁瑣,可以直接引入py文件
    ??def add(a,b): return a+b if __name__ == '__main__': print add(1,2) ????package com.firewolf; import org.python.core.PyFunction; import org.python.core.PyInteger; import org.python.core.PyObject; import org.python.util.PythonInterpreter; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); PythonInterpreter interpreter = new PythonInterpreter(); interpreter.exec("a=[5,4,3,2,1]"); interpreter.exec("print sorted(a)"); interpreter.execfile("src/resources/AddTwoNum.py"); PyFunction function = interpreter.get("add",PyFunction.class); //如果有main方法回執(zhí)信main方法。 int a = 1,b=2; System.out.println("調用py"); PyObject pyObject = function.__call__(new PyInteger(a),new PyInteger(2)); System.out.println("add的答案是"+pyObject); } } ??


本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務立即開通 >