java調用python方法總結

MarIwn 8年前發布 | 17K 次閱讀 Python Java Java開發

來自: http://blog.csdn.net/xingjiarong/article/details/49424253

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

}</pre>

調用的結果是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

}</pre>

得到的結果是: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)</pre>

建立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

}</pre>

得到的結果是:view plain

hello  
[3, 5, 2, 0, 6]  
[0, 2, 3, 5, 6]  
[0, 2, 3, 5, 6, 0]  
2  
3  
</div>

 本文由用戶 MarIwn 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!