程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java調用python方法總結

java調用python方法總結

編輯:JAVA綜合教程

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
}

得到的結果是:
view plain

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved