欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

汇总java调用python方法

程序员文章站 2024-03-09 10:21:59
本文为大家分享了java调用python方法,供大家参考,具体内容如下 一、在java类中直接执行python语句 import org.python.util...

本文为大家分享了java调用python方法,供大家参考,具体内容如下

一、在java类中直接执行python语句

import org.python.util.pythoninterpreter;
public class firstjavascript {
  public static void main(string args[]) {

    pythoninterpreter interpreter = new pythoninterpreter();

    interpreter.exec("days=('mod','tue','wed','thu','fri','sat','sun'); ");
    interpreter.exec("print days[1];");

  }// main
}

调用的结果是tue,在控制台显示出来,这是直接进行调用的。

二、在java中调用本机python脚本中的函数

首先建立一个python脚本,名字为:my_utils.py

def adder(a, b): 
  return a + b 

然后建立一个java类,用来测试,

java类代码 firstjavascript:

import org.python.core.pyfunction;
import org.python.core.pyinteger;
import org.python.core.pyobject;
import org.python.util.pythoninterpreter;

public class firstjavascript {
  public static void main(string args[]) {

    pythoninterpreter interpreter = new pythoninterpreter();
    interpreter.execfile("c:\\python27\\programs\\my_utils.py");
    pyfunction func = (pyfunction) interpreter.get("adder",
        pyfunction.class);

    int a = 2010, b = 2;
    pyobject pyobj = func.__call__(new pyinteger(a), new pyinteger(b));
    system.out.println("anwser = " + pyobj.tostring());

  }// main
}

得到的结果是:anwser = 2012

三、使用java直接执行python脚本

建立脚本inputpy

 #open files 

 print 'hello' 
 number=[3,5,2,0,6] 
 print number 
 number.sort() 
 print number 
 number.append(0) 
 print number 
 print number.count(0) 
 print number.index(5)

建立java类,调用这个脚本:

import org.python.util.pythoninterpreter;

public class firstjavascript {
  public static void main(string args[]) {

    pythoninterpreter interpreter = new pythoninterpreter();
    interpreter.execfile("c:\\python27\\programs\\input.py");
  }// main
}

得到的结果是:

hello 
[3, 5, 2, 0, 6] 
[0, 2, 3, 5, 6] 
[0, 2, 3, 5, 6, 0] 
2 
3 

以上就是三种java调用python方法,希望对大家的学习有所帮助。