mavan 本人測試使用以下可用
注意使用下面的maven下的包會有問題,不要使用這個
<a target="_blank" href="http://control.blog.sina.com.cn/admin/article/article_add.php#">view plain</a>
import javax.script.*;
import org.python.util.pythoninterpreter;
import java.io.*;
import static java.lang.system.*;
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,在控制台顯示出來,這是直接進行調用的。
2.在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;
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
3.使用java直接執行python腳本,
建立腳本inputpy
#open files
print 'hello'
number=[3,5,2,0,6]
print number
number.sort()
number.append(0)
print number.count(0)
print number.index(5)
建立java類,調用這個腳本:
interpreter.execfile("c:\\python27\\programs\\input.py");
得到的結果是:
hello
[3, 5, 2, 0, 6]
[0, 2, 3, 5, 6]
[0, 2, 3, 5, 6, 0]
2
3