在做一个springboot小项目的过程中需要实现一个校验一串字符串是否为单词的接口,网上搜索了一下,发现使用Python很方便
因为python有一个pyenchant库恰好具备这样的功能
pip install pyenchant

但是java调用python之前并没有接触过

使用jpython来调用的时候总是报一些很奇怪的错误,要么是找不到第三方库,但是添加了库路径进去又报别的错误

由于这个地方只需要传递一个简单的单词的参数过去就行

所以考虑使用sys库通过命令行传递参数的方式来实现,将True或者False打印到控制台给java读取

java只需要拼接命令执行即可

python代码

verify.py

import enchant
import sys
d = enchant.Dict("en_US")
input=sys.argv[1]
print(d.check(input))

采用sys库来获取参数,sys库获取到的参数数组中第一个是文件名,第二个才是word

java代码
     String word="hello";String cmd="python H:\python\verify.py "+word;Process process=null;process = Runtime.getRuntime().exec(cmd);InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream());BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String res=bufferedReader.readLine();if(res.equals("True")){System.out.println("是单词");}else{System.out.println("不是单词");}

在windows上面很容易就实现了功能

在linux上部署则遇见了一个问题
ImportError: The 'enchant' C library was not found and maybe needs to be installed.
原因按照字面意思就是缺少了enchant这个字符库
所以需要进行一下安装
CentOS 7安装Enchant:
yum install enchant
Ubuntu 安装Enchant:
apt-get install libenchant1c2a

顺利解决之后改一改路径就可以实现了

java调用python实现校验一串字符串是否为单词相关推荐

  1. java调用python,传参json字符串,含中文传参

    java调用python,传参json字符串 python脚本内容(test.py) # -*- coding: utf-8 -*-def main(input):return input java调 ...

  2. Java调用python项目实战

    项目中有用到Java调用python的需求,经过各种坑之后,根据业务需求,最终实现Java调用Python的各种情况,现在将总结如下,当然调用的也是Jython,具体原因,下面会介绍,先将代码贴出来. ...

  3. Java调用python脚本

    Java调用python脚本 最近也是刚开始学python,所以这里写了一个简单的小方法用Java来调用python脚本.后期再进行更新. 1.Java启动程序的方法 在Java中提供了两种方法来启动 ...

  4. .net core 引用jar_Python一键转Jar包,Java调用Python新姿势!

    粉丝朋友们,不知道大家看故事看腻了没(要是没腻可一定留言告诉我^_^),今天这篇文章换换口味,正经的来写写技术文.言归正传,咱们开始吧! 今天的这篇文章,聊一个轩辕君之前工作中遇到的需求:如何在Jav ...

  5. python文件转换成jar包_Python一键转Jar包,Java调用Python新姿势!

    粉丝朋友们,不知道大家看故事看腻了没(要是没腻可一定留言告诉我^_^),今天这篇文章换换口味,正经的来写写技术文.言归正传,咱们开始吧! 今天的这篇文章,聊一个轩辕君之前工作中遇到的需求:如何在Jav ...

  6. Java调用Python

    先说句题外话:无论是在C中还是Java中调用Python,当遇到多线程的时候一定要想到GIL锁的存在. 在Python中调用C/C++代码:这也是最常见的混合编程方式.并且有很多优秀的开源项目可以帮助 ...

  7. Java调用Python遇到的一系列问题与解决方案

    Java调用Python遇到的一系列问题与解决方案 参考文章: (1)Java调用Python遇到的一系列问题与解决方案 (2)https://www.cnblogs.com/CQUTWH/p/593 ...

  8. java和python可以在一个项目中同时使用么-java调用python的几种用法(看这篇就够了)...

    java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...

  9. 【Java】使用Java调用Python的四种方法

    写在前面 为啥一个好好的岗位是Java开发工程师要去做写python呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕).由于在选择企业的时候没看清企业性质,看了要求以为就是互联网 ...

  10. java 调用python脚本过程_通过Java调用Python脚本

    在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...

最新文章

  1. python安装cvxpy
  2. 无法从“const char [10]”转换为“char *”
  3. PAT甲级1126 Eulerian Path:[C++题解] 欧拉路径、并查集,测试点4有问题请进来
  4. mybatis-plus代码生成器使用和代码
  5. java学习(19):巩固练习
  6. Linux中断(interrupt)子系统之四:驱动程序接口层 中断通用逻辑层
  7. js调用ajax案例2,使用ok
  8. 关于input输入框内设置小图标的问题
  9. Android 简单闪屏
  10. 201703-1-分蛋糕
  11. 《Big Data Glossary》笔记
  12. GitHub 优秀的 Android 开源项目和框架
  13. 做一个模仿Windows画板喷漆笔刷效果
  14. setValuesForKeysWithDictionary崩溃
  15. 降维(Dimensionality Reduction) 是机器学习中的一种重要的特征处理手段
  16. AI将带我们去何方?(下-展望篇)
  17. 微信企业号已停止提供企业消息会话服务器,企业微信注册时显示会话服务已经被安装了怎么解决 解决攻略教程大全...
  18. 不一样的视觉盛宴,Python实现3D地图
  19. STM32CUBEMX开发GD32F303(16)----移植兆易创新SPI Nor Flash之GD25Q64Flash
  20. 2012年第23周限时免费游戏应用点评

热门文章

  1. 2017年《What Hi-Fi?》杂志评选KEF成最大赢家
  2. 牛客寒假训练营1 K 冒险公社(线性dp)
  3. Debug---Eclipse断点调试基础
  4. java aspect demo_Spring AOP + Aspect 实现切面编程
  5. 低效程序员的九个坏习惯
  6. 魔兽各服务器位置,魔兽世界怀旧服矿点分布在哪 全地图采矿位置一览(多图)
  7. 新面貌,新征程—读《新程序员》有感
  8. 根据身份证号判断该人的年龄、性别、出生年月日
  9. Python描述 LeetCode 8. 字符串转换整数 (atoi)
  10. 华裔天才数学家-陶哲轩