java调用python方法总结

Posted xingjiarong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java调用python方法总结相关的知识,希望对你有一定的参考价值。

http://download.csdn.net/detail/xingjiarong/9429266 下载jython包,把其中的jython.jar添加到工程目录

一、在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
}

得到的结果是:
view plain

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

以上是关于java调用python方法总结的主要内容,如果未能解决你的问题,请参考以下文章

2016.1.22总结(方法)

java调用python问题

Python如何调用别人写好的脚本

201621123002《java程序设计》第九周学习总结

Python 函数声明和调用

Python学习总结