用python实现调用jar包

本文作者:botoo

背景:python3.6 32位 + jre 32位 + windows64位

首先环境搭建:

安装jpype,安装的时候输入 pip install jpype1 (后面要加一个1)

*一定要注意 jre和python的位数一定要一样的

安装jre 根据你的python版本选择对应位数的jre文件http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

我下载的是:jre-8u151-windows-i586.tar.gz 下载后直接解压到本地d盘

用python实现调用jar包_第1张图片

需要的是这个路径下的这个文件:

用python实现调用jar包_第2张图片

import jpype
# jvmPath = jpype.getDefaultJVMPath() jvmPath = ur'D:\jre-8u151-windows-i586\jre1.8.0_151\bin\client\jvm.dll'jpype.startJVM(jvmPath)
jpype.java.lang.System.out.println("hello world!")
jpype.shutdownJVM()

执行不报错就成功。

下载完jar包,然后写py文件:

# -*- coding:utf-8 -*-

# Filename: main.py

# Author:hankcs

from jpype import *

import jpype

a=u'D:\\jre-8u151-windows-i586\\jre1.8.0_151\\bin\\client\\jvm.dll' #jvm.dll启动成功

jpype.startJVM(a, "-Djava.class.path=C:\\hanlp\\hanlp-portable-1.5.2.jar")       

HanLP = JClass('com.hankcs.hanlp.HanLP')

# 中文分词

print(HanLP.segment('你好,欢迎在Python中调用HanLP的API'))

testCases = [

"商品和服务",

"结婚的和尚未结婚的确实在干扰分词啊",

"买水果然后来世博园最后去世博会",

"中国的首都是北京",

"欢迎新老师生前来就餐",

"工信×××干事每月经过下属科室都要亲×××代24×××换机等技术性器件的安装工作",

"随着页游兴起到现在的页游繁盛,依赖于存档进行逻辑判断的设计减少了,但这块也不能完全忽略掉。"]

for sentence in testCases: print(HanLP.segment(sentence))

# 命名实体识别与词性标注

NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')

print(NLPTokenizer.segment('×××计算技术研究所的宗成庆教授正在教授自然语言处理课程'))

# 关键词提取

document = "水利部水资源司司长陈明忠9月29日在×××新闻办举行的新闻发布会上透露," \

"根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标," \

"有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批," \

"严格地进行水资源论证和取水许可的批准。"

print(HanLP.extractKeyword(document, 2))

# 自动摘要

print(HanLP.extractSummary(document, 3))

# 依存句法分析

print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))

shutdownJVM()

运行结果如下:

用python实现调用jar包_第3张图片


你可能感兴趣的:(用python实现调用jar包)