全部博文(2065)
分类: Python/Ruby
2010-06-19 14:56:37
Python调用JAVA程序
时间:
1. 介绍JPype
JPype is an effort to allow python programs full access to java class libraries. This is achieved not through re-implementing Python, as Jython/JPython has done, but rather through interfacing at the native level in both Virtual Machines.
直接从native level来访问JVM。与Jython还不太一样的。
下载URL:
2. 学习一下JPype这个开源的东西
>>> import jpype
>>> jvmPath=jpype.getDefaultJVMPath()
>>> print jvmPath
C:\Program Files\Java\jre6\bin\client\jvm.dll 得到默认的JVM位置
>>> import jpype
>>> jvmPath=jpype.getDefaultJVMPath()
>>> jpype.startJVM(jvmPath) 启动JVM虚拟机
>>> print jpype.isJVMStarted() 判断当前的JVM虚拟机是否启动
JVM启动的时候设置系统变量
import jpype
jvmPath = jpype.getDefaultJVMPath()
jvmArg = “ -DyourProperty=yourValue ” 表示的是当前的启动的参数脚本!
if not jpype.isJVMStarted():
jpype.startJVM(jvmPath,jvmArg) 指定参数进行启动起来
当然还可以在程序中设置系统变量
import jpype
prop = “ yourProperty ”
value = “ yourValue ”
system = jpype.JClass('java.lang.System')
system.setProperty(str(prop),str(value)) 可以这样来设置系统变量的
在程序中获取系统变量
import jpype
prop = “ yourProperty ”
system = jpype.JClass('java.lang.System')
value = system.getProperty(str(prop))
1:Jython其实更多是Java程序员的福音。JPype则是为Python程序员打开了Java之门。 ---某网友
两个刚好相反了。JAVA要走进PYTHON可以选择Jython。