亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 開(kāi)發(fā) > Java > 正文

Java與Python之間使用jython工具類(lèi)實(shí)現(xiàn)數(shù)據(jù)交互

2024-07-14 08:43:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近有個(gè)功能需要java與python之間的數(shù)據(jù)交互,java需要把參數(shù)傳給python,然后python計(jì)算的結(jié)果返回給java.于是就寫(xiě)了一個(gè)工具類(lèi).

首先,maven 需要加載jython的依賴(lài).工具類(lèi)代碼如下:

import java.util.List;import java.util.Map;import java.util.Properties;import org.apache.poi.ss.formula.functions.T;import org.python.core.PyFunction;import org.python.core.PyInteger;import org.python.core.PyObject;import org.python.core.PyString;import org.python.util.PythonInterpreter;/**   * @ClassName: JythonUtils   * @Description:TODO(jython 工具類(lèi))   * @author: zy * @date: *    * @Copyright: 2018 Inc. All rights reserved.  * 注意: */public class JythonUtils { /**   * @Title: jythonInit   * @Description: TODO(初始化jython)   * @param: @return    * @return: PythonInterpreter    * @throws   */ public static PythonInterpreter jythonInit(){ //初始化site 配置 Properties props = new Properties();    props.put("python.home", ""); //python Lib 或 jython Lib,根據(jù)系統(tǒng)中該文件目錄路徑    props.put("python.console.encoding", "UTF-8");        props.put("python.security.respectJavaAccessibility", "false");        props.put("python.import.site", "false");    Properties preprops = System.getProperties();    PythonInterpreter.initialize(preprops, props, new String[0]);    //創(chuàng)建PythonInterpreter 對(duì)象 PythonInterpreter interp = new PythonInterpreter(); return interp; } /**   * @Title: loadPythonFile   * @Description: TODO(加載python 源碼文件,)   * @param: @param interp * @param: @param filePath ,比如:F://jpython_jar//jpythonTest//pythonTest.py 或/testpython/test.py * @param: @return    * @return: PythonInterpreter    * @throws   */ public static PythonInterpreter loadPythonFile(PythonInterpreter interp, String filePath){ interp.execfile(filePath); return interp; } /**   * @Title: loadPythonFunc   * @Description: TODO(加載python 源碼文件中的某個(gè)方法)   * @param: @param interp * @param: @param functionName * @param: @return    * @return: PyFunction    * @throws   */ public static PyFunction loadPythonFunc(PythonInterpreter interp, String functionName){ //加載方法   PyFunction func = (PyFunction) interp.get(functionName,PyFunction.class); return func; } /**   * @Title: execFunc   * @Description: TODO(執(zhí)行無(wú)參方法,返回PyObject)   * @param: @param func    * @return: PyObject    * @throws   */ public static PyObject execFunc(PyFunction func){ PyObject pyobj = func.__call__(); return pyobj; } /**   * @Title: execFuncToString   * @Description: TODO(執(zhí)行無(wú)參方法,返回一個(gè)字符串)   * @param: @param func * @param: @return    * @return: String    * @throws   */ public static String execFuncToString(PyFunction func){ PyObject pyobj = execFunc(func); return (String) pyobj.__tojava__(String.class); } /**   * @Title: execFuncToString   * @Description: TODO(執(zhí)行有參方法,返回一個(gè)字符串)   * @param: @param func * @param: @param paramName ,參數(shù)名 * @param: @return    * @return: String    * @throws   */ public static String execFuncToString2(PyFunction func, String paramName){  PyObject pyobj = func.__call__(new PyString(paramName)); return (String) pyobj.__tojava__(String.class); } /**   * @Title: execFuncToInteger   * @Description: TODO(執(zhí)行無(wú)參方法,返回一個(gè)Integer)   * @param: @param func * @param: @return    * @return: Integer    * @throws   */ public Integer execFuncToInteger(PyFunction func){ PyObject pyobj = execFunc(func); return (Integer) pyobj.__tojava__(Integer.class); } /**   * @Title: execFuncToList   * @Description: TODO(執(zhí)行無(wú)參方法,返回一個(gè)List)   * @param: @param func * @param: @return    * @return: List<T>    * @throws   */ public List<T> execFuncToList(PyFunction func){ PyObject pyobj = execFunc(func); return (List<T>) pyobj.__tojava__(List.class); } /**   * @Title: execFuncToMap   * @Description: TODO(執(zhí)行無(wú)參方法,返回一個(gè)Map<String, Object>)   * @param: @param func * @param: @return    * @return: Map<String,Object>    * @throws   */ public Map<String, Object> execFuncToMap(PyFunction func){ PyObject pyobj = execFunc(func); return (Map<String, Object>) pyobj.__tojava__(Map.class); } public void execFuncToByParamsList(PyFunction func, List<T> paramsList){ } public static void main(String[] args){ PythonInterpreter interp = jythonInit(); //文件名 String filePath = "F://jpython_jar//jpythonTest//pythonTest.py"; interp = loadPythonFile(interp, filePath); //函數(shù)名 String functionName = "count"; PyFunction func = loadPythonFunc(interp, functionName); //執(zhí)行無(wú)參方法,返回PyObject PyObject pyobj = execFunc(func); //執(zhí)行無(wú)參方法,返回String String resultStr = execFuncToString(func); //執(zhí)行有參方法,返回String String paramName = "name"; String resultStr2 = execFuncToString2(func, paramName); }}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VeVb武林網(wǎng)的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产欧美日韩精品在线| 日韩激情在线视频| 国产九色在线播放九色| 老司机激情视频| 真不卡电影网| 国产精品成人一区二区三区| 中文字幕欧美日韩精品| 久久人人爽人人| 青娱乐国产精品视频| 成人三级黄色免费网站| 国产另类xxxxhd高清| 国产精品久久久久桃色tv| 黄色网络在线观看| 成人免费一区二区三区牛牛| 黄网站免费久久| 亚洲美女色禁图| 狠狠做深爱婷婷久久综合一区| 2023国产在线观看| 成人免费视频视频在| 久久人人精品| 亚洲精品国产一区二区三区四区在线| 国产精品久免费的黄网站| 久久精品国产精品亚洲| 国产性猛交普通话对白| 日本24小时在线高清视频| 日韩成人午夜影院| aaaaa一级片| 天堂免费视频| 亚洲天堂电影网| 国产成人精品午夜| 性欧美1819| 久久riav二区三区| 操人视频欧美| 国产精品一二三在线观看| 免费黄色日本网站| 黑人巨大精品欧美黑白配亚洲| 制服丝袜影音先锋| 精品亚洲免费视频| 国语自产精品视频在线看抢先版图片| 亚洲国产婷婷香蕉久久久久久| 国产精品天天狠天天看| 亚洲AV无码片久久精品| 成人午夜激情在线| 全免费a级毛片| 毛片在线免费视频| 国产福利精品一区二区| 中文有码在线观看| 亚洲av无一区二区三区久久| 99热在这里有精品免费| 91精品国产高清一区二区三蜜臀| 性生生活大片免费看视频| 国产精品一区二区免费福利视频| 日韩成人综合网| 国产三级在线免费| 精品激情国产视频| 中文久久久久久| 国内精品久久久久久影视8| av毛片在线免费观看| 五十度飞在线播放| 欧美精品videosbestsex另类| 性欧美videos精品| 亚洲黄色精品视频| 亚洲免费网站在线观看| 手机成人av在线| 欧美日韩破处| 国产亚洲毛片| 欧美与黑人午夜性猛交久久久| 99久久婷婷国产综合精品电影√| 黄色日韩精品| 久久视频免费在线播放| 一色桃子在线| 国产黄色在线| 成人激情动漫在线观看| 日本中文字幕网址| www.99com| 国产不卡一二三区| 国产拍欧美日韩视频二区| 欧美高清videos高潮hd| 337人体粉嫩噜噜噜| 欧美综合另类| 粉嫩av一区二区三区免费野| 国产综合无码一区二区色蜜蜜| 十九岁完整版在线观看好看云免费| 亚洲啊啊啊啊啊| 国产一区二区三区在线免费| 色偷偷偷综合中文字幕;dd| 免费看美女毛片| av不卡中文字幕| 五月天精品视频| 秋霞影院一区二区| 亚洲成人黄色小说| 91久久国产自产拍夜夜嗨| 成人欧美色图| 欧美在线免费观看| 免费成人性网站| 92国产精品久久久久首页| 日本在线播放| 97人妻精品一区二区免费| 一本色道久久88亚洲综合88| 国产精品视频一区二区三区麻豆| 国产天堂视频在线观看| av一区二区久久| 国产精品国产三级国产试看| 国产欧美日韩一区二区三区| 蜜桃av免费观看| 国产亚洲视频在线| 五月天婷亚洲天综合网鲁鲁鲁| 欧美日韩在线三区| 在线看成人短视频| 国内成人精品一区| 国产精品久久久久77777丨| 91黑丝在线观看| 久草福利在线| 亚洲欧美色视频| 三级a性做爰视频| 亚洲精品一区二区三区四区高清| 在线āv视频| 欧美在线日韩精品| 成人三级做爰av| 51亚洲精品| 中文字幕日日夜夜| 亚洲精选久久| 最近2019年手机中文字幕| 久久黄色影院| 超清福利视频| 欧美爱爱小视频| 欧美精品成人一区二区在线观看| 97色伦图片97色伦在线电影| 国产乱子视频| 97香蕉久久夜色精品国产| 99tv成人| а√最新版天堂中文在线| 国产精品日韩在线| 97色伦图片97色伦在线电影| 亚洲精品一区二| 欧洲高清一区二区| 精品国产亚洲一区二区麻豆| 91日韩精品一区| 亚洲精品66| 国产性生活免费视频| 欧美高跟鞋交xxxxxhd| 日本人妻熟妇久久久久久| 一出一进一爽一粗一大视频| 一区二区视频在线免费观看| 精品少妇无遮挡毛片| 久久精品久久久久电影| 在线观看国产精品视频| dy888夜精品国产专区| 亚洲精品a级片| 国产大奶在线| 久久久亚洲人| 26uuu精品一区二区三区四区在线| 国产免费黄视频在线观看| 日韩一本大道| 91麻豆文化传媒在线观看| 日韩av片在线看| 日韩av三级在线| 在线视频国产日韩| 国产精品久久久久久久久久久久| 婷婷久久青草热一区二区| 日韩小视频在线观看| 91成人伦理在线电影| 日本a√在线观看| 欧美福利电影网| 久久精品中文字幕免费mv| 免费在线观看精品| 成人福利免费网站| 九九热最新视频| 日干夜干天天干| 国产91在线播放精品91| 成人av动漫| 久久中文字幕在线| 国产成人中文字幕| 国产成人a视频高清在线观看| 亚洲午夜精品视频| 欧美福利视频| 亚洲成人一二三区| 夜夜嗨一区二区| 人妻无码中文字幕| 国产麻豆精品一区二区| 伊人狠狠色丁香综合尤物| 欧美国产先锋| 精品51国产黑色丝袜高跟鞋| 欧美成人激情图片网| 亚洲国产毛片aaaaa无费看| 亚洲精品影视在线| 欧美高清无遮挡| 亚洲qvod图片区电影| 极品美女销魂一区二区三区| 激情五月五月婷婷| 成人免费福利在线| 国产精品欧美韩国日本久久| 日韩国产在线不卡视频| 特级西西人体高清大胆| 久久精品国产欧美亚洲人人爽| ㊣最新国产の精品bt7086| 99久久精品免费看国产| 少妇被狂c下部羞羞漫画| 日韩电影网址| 久久av最新网址| 国产欧美在线一区| 韩国精品福利一区二区三区| 日韩中文字幕观看| 色88888久久久久久影院野外| 我想看黄色大片| 国产又大又黄的视频| 久久中文字幕一区二区三区| 青春草免费在线视频| a在线视频播放观看免费观看| 波多野结衣中文字幕在线播放| 在线视频观看91| 日本午夜精品视频在线观看| 天天色综合社区| 国内精品视频久久| 日韩成人伦理| 久久久亚洲精品石原莉奈| kk眼镜猥琐国模调教系列一区二区| av成人在线播放| aaa免费在线观看| 成人免费看黄| 午夜精品久久久久久不卡8050| 中文字幕乱码一区二区免费| 欧美影视资讯| 国产日韩一区欧美| 91国内精品久久久| 日韩专区在线| 午夜精品久久久久久久99热黄桃| 国产精品久久久久aaaa| 精品久久久香蕉免费精品视频| 麻豆av一区二区三区| 欧美xxxx老人做受| 色就是色欧美| 性18欧美另类| 搞黄网站免费观看| 亚洲欧美精品suv| 高清不卡一区二区三区| 欧美在线观看网址综合| 少女频道在线观看免费播放电视剧| 成人伦理视频网站| 一区二区三区高清视频在线观看| 免费看精品久久片| 欧美亚洲另类色图| 免费观看性欧美大片无片| 日韩成人精品一区二区| 欧美sm极限捆绑bd| 国产久一一精品| 91精品在线观看视频| 亚洲精品综合在线| 理论片午夜视频在线观看| 国产一区二区三区精彩视频| 亚洲小说欧美另类社区| 日韩成人av在线播放| 99久久国产综合精品成人影院| 一区二区av| 一二三四视频免费观看在线看| 美女网站色免费| xxx免费视频| 97视频在线观看成人| www.久久久久久久久久| 精品欧美一区二区三区免费观看| 成人午夜免费av| 日本欧美国产在线| 久久久久免费观看| 一区二区三区在线视频111| 精品国产一区二区三区久久久蜜月| 日韩精品一区二区三区免费视频| 成人区精品一区二区婷婷| 97超碰蝌蚪网人人做人人爽| 小舞被吸乳羞羞网站视频| 先锋影音二区| 国产美女一区视频| 亚洲综合在线网| 日韩一级特黄毛片| 99re在线视频精品| 青青青国内视频在线观看软件| 日韩一区二区三区xxxx| 图片区日韩欧美亚洲| 国产又粗又猛又黄视频| 黄网站免费观看| 亚洲xxx大片| 欧美成人精品影院| 最新在线你懂的| 欧美三级午夜理伦三级在线观看| 免费观看黄一级视频| 天堂中文字幕av| 欧美性视频在线播放| www.99re.av| 欧美xxxx在线| 亚洲天堂成人在线观看| 久久久91精品国产一区不卡| 国内在线免费高清视频| 黄页免费欧美| 波多野结衣av一区二区全免费观看| 高潮一区二区三区乱码| 一本一道dvd在线观看免费视频| 日韩欧美高清在线| 国产 xxxx| 麻豆tv在线观看| 国产福利在线观看视频| 国产日韩av一区二区| 欧美女孩性生活视频| 美女av免费看| 在线精品视频播放| 黄色污污网站在线观看| 国产爆初菊在线观看免费视频网站| 亚洲国产精品成人一区二区在线| 国模吧精品视频| 麻豆chinese极品少妇| 日本三级视频在线| 欧美绝品在线观看成人午夜影视| 国产精品乱码视频| 日本成人中文字幕在线视频| 亚洲天堂2020| 亚洲欧美日韩精品久久久久| 欧美夫妻性视频| 亚洲一区二区三区| 一区二区欧美在线| 91国偷自产一区二区三区观看| 日韩国产91| av网站一区二区三区| 亚洲天堂电影网| 成年女人a毛片免费视频| 亚洲精品按摩视频| 乱子伦视频在线看| 黄视频在线免费看| 国产成人精品一区二区在线小狼| 国产精品一区二区免费不卡| 亚洲男人的天堂一区二区|