匯總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)用的結(jié)果是Tue,在控制臺顯示出來,這是直接進(jìn)行調(diào)用的。
二、在java中調(diào)用本機(jī)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 }
得到的結(jié)果是: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 }
得到的結(jié)果是:
hello [3, 5, 2, 0, 6] [0, 2, 3, 5, 6] [0, 2, 3, 5, 6, 0] 2 3
以上就是三種java調(diào)用python方法,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Java編程刪除鏈表中重復(fù)的節(jié)點(diǎn)問題解決思路及源碼分享
這篇文章主要介紹了Java編程刪除鏈表中重復(fù)的節(jié)點(diǎn)問題解決思路及源碼分享,具有一定參考價值,這里分享給大家,供需要的朋友了解。2017-10-10Java實(shí)現(xiàn)在正則表達(dá)式中控制大小寫的方法
這篇文章主要介紹了Java實(shí)現(xiàn)在正則表達(dá)式中控制大小寫的方法,結(jié)合實(shí)例形式分析了java正則表達(dá)式中傳遞控制參數(shù)的功能與相關(guān)操作技巧,需要的朋友可以參考下2017-04-04Java實(shí)現(xiàn)常用緩存淘汰算法:FIFO、LRU、LFU
在高并發(fā)、高性能的質(zhì)量要求不斷提高時,我們首先會想到的就是利用緩存予以應(yīng)對。而常用的幾個緩存淘汰算法有:FIFO、LRU和LFU,本文將為大家詳細(xì)介紹一下這三個算法并用java實(shí)現(xiàn),感興趣的可以跟隨小編一起學(xué)習(xí)一下2021-12-12SpringBoot?整合?ElasticSearch操作各種高級查詢搜索
這篇文章主要介紹了SpringBoot?整合?ES?進(jìn)行各種高級查詢搜索的實(shí)踐記錄,本文主要圍繞?SpringBoot?整合?ElasticSearch?進(jìn)行各種高級查詢的介紹,需要的朋友可以參考下2022-06-06springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能(上)
這篇文章主要為大家詳細(xì)介紹了springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能,比較基礎(chǔ)的學(xué)習(xí)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07SpringBoot高版本修改為低版本時測試類報錯的解決方案
這篇文章主要介紹了SpringBoot高版本修改為低版本時測試類報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09springcloud使用Hystrix進(jìn)行微服務(wù)降級管理
這篇文章主要介紹了springcloud使用Hystrix進(jìn)行微服務(wù)降級管理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04