當(dāng)前位置:首頁(yè) > IT技術(shù) > 編程語(yǔ)言 > 正文

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


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


  1. 我熟練使用的語(yǔ)言是java,java與python的混合開(kāi)發(fā)怎么實(shí)現(xiàn),javaEE+python來(lái)實(shí)現(xiàn)在線測(cè)試工具。以下是一個(gè)簡(jiǎ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. 上面的方法過(guò)于繁瑣,可以直接引入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("調(diào)用py"); PyObject pyObject = function.__call__(new PyInteger(a),new PyInteger(2)); System.out.println("add的答案是"+pyObject); } } ??


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

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >