Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29957054
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Python/Ruby

2010-06-19 14:56:37

Python调用JAVA程序

时间:2010-6-19

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(jvmPathjvmArg)                     指定参数进行启动起来
 
当然还可以在程序中设置系统变量
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))
 
 

 

 

 

1Jython其实更多是Java程序员的福音。JPype则是为Python程序员打开了Java之门。 ---某网友

两个刚好相反了。JAVA要走进PYTHON可以选择Jython

 

阅读(1210) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~