java调用python代码

时间:2023-02-07 00:43:12

同样的我们需要安装jython,具体的步骤如下:

1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包。

2. 下载下来的jar包其实既是使用的时候需要引入的jar包,也是安装就jython的jar包。具体安装细节参照:https://wiki.python.org/jython/InstallationInstructions#jython-2-7-0

其实直接使用: java -jar jython_installer-2.5.2.jar 就可以根据界面指导进行安装。

3. 如果我们现在想在java中调用python代码或者执行python文件,我们只需引入jypthon安装目录下的jython.jar即可。(这一点和jruby的使用方式类似)

调用的代码示例如下:

 PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");
interpreter.exec("print days[1];");

JavaCallPython

首次调用会输出很多标红的编译对应jar包的信息:

 *sys-package-mgr*: processing new jar, '/home/zyq/KiDe/Redis/jar4java/commons-pool-1.5.4.jar'
*sys-package-mgr*: processing new jar, '/home/zyq/KiDe/Redis/jar4java/jedis-2.1.0.jar'
*sys-package-mgr*: processing new jar, '/home/zyq/KiDe/Redis/jar4java/junit-4.8.2.jar'
*sys-package-mgr*: processing new jar, '/opt/jruby/jruby-9.1.2.0/lib/jruby.jar'
*sys-package-mgr*: processing new jar, '/home/zyq/jython2.5.2/jython.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/resources.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/rt.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/jsse.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/jce.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/charsets.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/jfr.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/sunpkcs11.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/jfxrt.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/cldrdata.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/sunjce_provider.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/zipfs.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/localedata.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/nashorn.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/jaccess.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/sunec.jar'
*sys-package-mgr*: processing new jar, '/opt/java/jdk1.8.0_91/jre/lib/ext/dnsns.jar'

FirstInvokeInfo

后续调用的结果如下:

 Tue

Result

java调用python代码的更多相关文章

  1. (转)java调用python脚本

    这篇博客旨在吐血分享今天遇到的java调用python脚本遇到的坑,折腾了3个多小时终于可以跑通了,代码超级短,但网上的好多资料都是抄来抄去的,很少有能够直接跑通的,尤其是针对你的python文件中用 ...

  2. Python一键转Jar包,Java调用Python新姿势!

    粉丝朋友们,不知道大家看故事看腻了没(要是没腻可一定留言告诉我^_^),今天这篇文章换换口味,正经的来写写技术文.言归正传,咱们开始吧! 本文结构: 需求背景 进击的Python Java和Pytho ...

  3. 如何在Java中调用Python代码

    有时候,我们会碰到这样的问题:与A同学合作写代码,A同学只会写Python,而不会Java, 而你只会写Java并不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方设法“调 ...

  4. 在Java中调用Python代码

    极少数时候,我们会碰到类似这样的问题:与A同学合作写代码, A同学只会写Python,不熟悉Java ,而你只会写Java不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方 ...

  5. Java 调用python说明文档

    Java 调用python说明文档 通过java调用python脚本主要如下三种方式: 1.直接执行python脚本: 2.执行python.py文件: 3.使用Runtime.getRuntime( ...

  6. java调用python程序以及向python程序传递参数

    在做项目的时候,经常会碰到这个问题,主要程序是用java写的,有些功能使用python写的,整个项目需要把java代码和python代码进行整合,在一个项目里面运行,这就涉及到java调用python ...

  7. android开发中调用python代码(带参数)

    android开发主要用到的是java代码,但是当开发涉及到一些算法时,往往用python可以提高软件的运行速度,也更加便捷,这里分享自己项目调用python代码的方式,主要有以下几个步骤(个人方法, ...

  8. java调用python脚本并向python脚本传递参数

    1.安装Eclipse 先安装jdk,再安装Eclipse,成功后开始建立py_java项目,在这个项目的存储目录SRC下建立test包,在test包中New-Class,新建MyDemo类,建好完成 ...

  9. java调用python的惨痛史(无法获取环境变量)

    环境:java,was,python2.6,红帽linux,oracle,python用cx_Oracle        事情是这样的,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用pyt ...

随机推荐

  1. Moom for mac 最棒的窗口管理软件

    win7下,鼠标拖动窗口向左.右,两个窗口就在一个桌面上平分秋色了 mac下只能使用三只爪向上的手势查看当前桌面运行的程序,或者三只爪左右滑动查看全屏显示的其他程序,有时候一边看书一边敲代码很不方便 ...

  2. UIBezierPath类 笔记

    使用UIBezierPath类可以创建基于矢量的路径.此类是Core Graphics框架关于path的一个封装.使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状.     ...

  3. 取消 virtualStore 注册表[启用和禁止 UAC虚拟化]

    近日发现,在win2008R2 x64下运行的服务器程序,其注册表读取路径为: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SZDomain\itvc1] 但是经 ...

  4. CART(分类回归树)原理和实现

    前面我们了解了决策树和adaboost的决策树墩的原理和实现,在adaboost我们看到,用简单的决策树墩的效果也很不错,但是对于更多特征的样本来说,可能需要很多数量的决策树墩 或许我们可以考虑使用更 ...

  5. [js开源组件开发]-手机端照片预览组件

    手机端照片预览组件 可怜的我用着华为3C手机,用别人现成的组件都好卡,为了适应我这种屌丝,于是自己简化写了一版的照片预览效果,暂时无缩放功能,以后可能有空再加吧,你也可以自己加下,这是个github上 ...

  6. ubuntu日志清理

    由于ubuntu日志文件syslog 和 kern.log 时刻在增长,一会儿就使得根目录文件夹不够用了,需使用如下命令清理 sudo -i输入密码echo  > /var/log/syslog ...

  7. vs2010 无法创建 *.edmx(Entity Frame Work) 文件的问题

    当你安装了VS2010或者已经安装了EntityFramework41RC.exe之后发现依然在Add New Item时无法找到ADO.NET Entity Model,有可能是你创建的不是netf ...

  8. java I/O Stream 代码学习总结

    一. InputStream 类学习介绍 mark方法 public void mark(int readlimit) 在此输入流中标记当前的位置.对 reset 方法的后续调用会在最后标记的位置重新 ...

  9. Linux 文本处理工具(grep sed awk )

    ^test: 以test开头; test$: 以test结尾: ^$: 表示空行,不是空格: . :代表且只代表任意一个字符(其他功能:当前目录,加载文件): \ : 代表转义字符,表示特殊字符: * ...

  10. Mybatis使用MySQL进行模糊查询时输入中文检索不到结果

    Mybatis使用MySQL进行模糊查询时输入中文检索时,需要在jdbcURL后增加参数   ?useUnicode=true&characterEncoding=UTF-8