当前位置:Gxlcms > Python > pythonjava调用

pythonjava调用

时间:2021-07-01 10:21:17 帮助过:3人阅读

<dependency>
    <groupId>jython</groupId>
    <artifactId>jython</artifactId>
    <version>2.1</version>
 </dependency>
package com.curiousby.python.demo;
import org.python.core.PyFunction;
import org.python.core.PyInteger;
import org.python.core.PyObject;
import org.python.util.PythonInterpreter;
/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年8月1日 下午1:05:36
 *<pre>
 <dependency>
    <groupId>jython</groupId>
    <artifactId>jython</artifactId>
    <version>2.1</version>
 </dependency>
 *</pre>
 * desc: ...
 */
public class PythonByJava {
public static void main(String[] args) {
PythonInterpreter interpreter = new PythonInterpreter();  
        interpreter.execfile("I:\\cache\\ea-ws\\DemoJava\\conf\\Test1.py");  
        PyFunction func = (PyFunction)interpreter.get("sum",PyFunction.class);
        int a = 1, b = 2 ; 
        PyObject pyobj = func.__call__(new PyInteger(a), new PyInteger(b));  
        System.out.println(pyobj.toString()); 
}
}

结果:

3

其他两种 调用方法:

a) 直接执行Python脚本代码

PythonInterpreter interpreter = new PythonInterpreter();  
interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");   ///执行python脚本

b)使用Runtime.getRuntime()执行脚本文件

Process proc = Runtime.getRuntime().exec("python  D:\\demo.py");  
proc.waitFor();

人气教程排行