Python調用java擴展C,三弟兄再別爭天下第一了!
python調用Java
前提:
Linux 環境
1 安裝 jpype1
安裝後測試代碼:
from jpype import *startJVM(getDefaultJVMPath(), "-ea")java.lang.System.out.println("Hello World")shutdownJVM()2 調用非jdk的jar包, test.jar
Python調用java擴展C,三弟兄再別爭天下第一了!
包中含有 com.Test類
package com;public class Test {public String test(String str){return str;}}Python 調用jar包
jar_path = os.path.join(os.path.abspath('.'), 'libs/test.jar')jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % jar_path)Test = jpype.JClass('com.Test')或者通過JPackage引用Test類
com = jpype.JPackage('com')
Test = com.Test
t = Test()
res = t.test("a")
print res
jpype.shutdownJVM()
note: 注意Linux下的權限問題
python的C擴展
Python調用java擴展C,三弟兄再別爭天下第一了!
前提條件
c編譯器用DEV-C++,
python(sys.version):'2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]'
一、新建DEV-C++的DLL工程
Python調用java擴展C,三弟兄再別爭天下第一了!
二、設置DEV工程屬性
參考 C中嵌入python 文中的設置工程屬性
三、生成python的C擴展“.pyd”文件
編寫DLL的代碼,代碼如下:
Python調用java擴展C,三弟兄再起爭端!
編譯後生成“PydMath.dll”的文件,改名為 “PydMath.pyd”,這樣python就可以import此擴展模塊。import結果如下:
Python調用java擴展C,三弟兄再別爭天下第一了!
四、Python調用擴展測試
python測試代碼如下:
Python調用java擴展C,三弟兄再別爭天下第一了!
運行結果如下:
Python調用java擴展C,三弟兄再別爭天下第一了!
至此,python的擴展已完工,順便提下,在寫博文的時候chrome崩潰了,寫的內容沒保存,重啟恢復頁面後,所寫的內容都在,讓人心情大落大起呀,該說chrome啥好呢。。。
轉發+關注 私信小編 01 即可獲取Python全套學習資料
閱讀更多 浪小九 的文章