匯總java調(diào)用python方法
本文為大家分享了java調(diào)用python方法,供大家參考,具體內(nèi)容如下
一、在java類中直接執(zhí)行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 }
調(diào)用的結果是Tue,在控制臺顯示出來,這是直接進行調(diào)用的。
二、在java中調(diào)用本機python腳本中的函數(shù)
首先建立一個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直接執(zhí)行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類,調(diào)用這個腳本:
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調(diào)用python方法,希望對大家的學習有所幫助。
相關文章
Java編程刪除鏈表中重復的節(jié)點問題解決思路及源碼分享
這篇文章主要介紹了Java編程刪除鏈表中重復的節(jié)點問題解決思路及源碼分享,具有一定參考價值,這里分享給大家,供需要的朋友了解。2017-10-10Java實現(xiàn)常用緩存淘汰算法:FIFO、LRU、LFU
在高并發(fā)、高性能的質量要求不斷提高時,我們首先會想到的就是利用緩存予以應對。而常用的幾個緩存淘汰算法有:FIFO、LRU和LFU,本文將為大家詳細介紹一下這三個算法并用java實現(xiàn),感興趣的可以跟隨小編一起學習一下2021-12-12SpringBoot?整合?ElasticSearch操作各種高級查詢搜索
這篇文章主要介紹了SpringBoot?整合?ES?進行各種高級查詢搜索的實踐記錄,本文主要圍繞?SpringBoot?整合?ElasticSearch?進行各種高級查詢的介紹,需要的朋友可以參考下2022-06-06springmvc+spring+mybatis實現(xiàn)用戶登錄功能(上)
這篇文章主要為大家詳細介紹了springmvc+spring+mybatis實現(xiàn)用戶登錄功能,比較基礎的學習教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07SpringBoot高版本修改為低版本時測試類報錯的解決方案
這篇文章主要介紹了SpringBoot高版本修改為低版本時測試類報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09