回覆列表
-
1 # 郭德宇
-
2 # 小小猿愛嘻嘻
這裡介紹一種簡單的方法—Jython,Jython是python語言在Java平臺上的實現,可以將python程式碼編譯成JVM位元組碼,由JVM虛擬機器執行對應的位元組碼,下面我簡單介紹一下實現過程,實驗環境win10+jdk1.8+eclipse,主要內容如下:
1.安裝Jython,這個直接在官網上下載就行,一個jar包,這裡我們選擇第2個Standalone Jar,如下:
2.下載完成後,我們在eclipse中新建一個java專案,並且引入上面這個Jar包(不會引入Jar包的,自行百度一下),如下:
3.最後,就是在java程式中呼叫python程式了,這裡需要注意的是,程式在執行前,需要修改一下執行配置,新增“-Dpython.console.encoding=UTF-8”,不然會丟擲異常,如下:
主要測試程式碼及截圖如下:
直接在Java中執行python語句,相當於在Java中嵌套了python程式,如下:
程式執行截圖如下:
在Java程式中直接呼叫python指令碼,不需要傳參,也不需要返回值:
1.python指令碼程式碼如下:
2.呼叫程式,就是直接執行這個py指令碼:
程式執行截圖如下:
在Java程式中呼叫python指令碼,既要傳參,還要取得返回值:
1.python指令碼如下,很簡單:
2.呼叫程式碼,獲取py指令碼函式,傳入引數,獲取執行結果,並將結果打印出來:
程式執行截圖如下:
至此,我們就完成了在Java程式中呼叫python。總的來說,整個過程不難,只要你有一定的java,python基礎,熟悉一下相關程式碼和示例,很快就能掌握的,網上也有相關資料和教程,感興趣的可以搜一下,希望以上分享的內容能對你有所幫助吧。
Maven引入:
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7.0</version>
</dependency>
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile(".../指令碼.py");