1、http://sourceforge.net/projects/jython/下载jython包,把其中的jython.jar添加到工程目录

示例:

1、摘自:http://blog.csdn.net/anbo724/article/details/6608632

1.在java类中直接执行python语句

view plain
  1. import javax.script.*;
  2. import org.python.util.PythonInterpreter;
  3. import java.io.*;
  4. import static java.lang.System.*;
  5. public class FirstJavaScript
  6. {
  7. public static void main(String args[])
  8. {
  9. PythonInterpreter interpreter = new PythonInterpreter();
  10. interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");
  11. interpreter.exec("print days[1];");
  12. }//main
  13. }

这样得到的结果是Tue,在控制台显示出来,这是直接进行调用的。

2.在java中调用本机python脚本中的函数:

首先建立一个python脚本,名字为:my_utils.py

view plain
  1. def adder(a, b):
  2. return a + b

然后建立一个java类,用来测试,

java类代码 FirstJavaScript:

view plain
  1. import javax.script.*;
  2. import org.python.core.PyFunction;
  3. import org.python.core.PyInteger;
  4. import org.python.core.PyObject;
  5. import org.python.util.PythonInterpreter;
  6. import java.io.*;
  7. import static java.lang.System.*;
  8. public class FirstJavaScript
  9. {
  10. public static void main(String args[])
  11. {
  12. PythonInterpreter interpreter = new PythonInterpreter();
  13. interpreter.execfile("C:\\Python27\\programs\\my_utils.py");
  14. PyFunction func = (PyFunction)interpreter.get("adder",PyFunction.class);
  15. int a = 2010, b = 2 ;
  16. PyObject pyobj = func.__call__(new PyInteger(a), new PyInteger(b));
  17. System.out.println("anwser = " + pyobj.toString());
  18. }//main
  19. }

得到的结果是:anwser = 2012

3.使用java直接执行python脚本,

建立脚本inputpy

view plain
  1. #open files
  2. print 'hello'
  3. number=[3,5,2,0,6]
  4. print number
  5. number.sort()
  6. print number
  7. number.append(0)
  8. print number
  9. print number.count(0)
  10. print number.index(5)

建立java类,调用这个脚本:

view plain
  1. import javax.script.*;
  2. import org.python.core.PyFunction;
  3. import org.python.core.PyInteger;
  4. import org.python.core.PyObject;
  5. import org.python.util.PythonInterpreter;
  6. import java.io.*;
  7. import static java.lang.System.*;
  8. public class FirstJavaScript
  9. {
  10. public static void main(String args[])
  11. {
  12. PythonInterpreter interpreter = new PythonInterpreter();
  13. interpreter.execfile("C:\\Python27\\programs\\input.py");
  14. }//main
  15. }

得到的结果是:

view plain
  1. hello
  2. [3, 5, 2, 0, 6]
  3. [0, 2, 3, 5, 6]
  4. [0, 2, 3, 5, 6, 0]
  5. 2
  6. 3

在java中调用python方法相关推荐

  1. java执行python脚本_使用Runtime.getRuntime().exec()在java中调用python脚本

    举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本.假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用ja ...

  2. java中调用python

    在Java中调用Python </h1><div class="clear"></div><div class="postBod ...

  3. 在Java中调用Python

    写在前面 参考:https://www.cnblogs.com/nuccch/p/8435693.html 在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢.当然 ...

  4. 在Java中调用Python,java面试题,java初级笔试题

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 写在 ...

  5. java怎么调用python_如何在Java中调用Python代码

    Jython(原JPython),是一个用2113Java语言写的Python解释5261器.在没有第三方模块的情况下4102,通常选择利用Jython来调用1653Python代码,它是一个开源的J ...

  6. 如何在java中调用js方法

    [java] view plain copy/* * 加载脚本引擎,并在java中调用js方法 */ public void test2() { ScriptEngineManager manager ...

  7. C#中调用python方法

    最近因为项目设计,有部分使用Python脚本,因此代码中需要调用python方法. 1.首先,在c#中调用python必须安装IronPython,在  http://ironpython.codep ...

  8. java能调用python吗_如何使用运行时在Java中调用python程序 - java

    我想用来自Java的参数调用python程序.但是我的输出是空白.代码在这里. Python代码在这里: import sys print(sys.argv[1]) Java代码在这里: public ...

  9. Java:在Java中调用python文件执行

    目录 一.Java内置Jpython库(不推荐) 1.1 下载与使用 1.2 缺陷 二.使用Runtime.getRuntime()执行脚本⽂件 2.1 使用 2.2 缺陷 三.利用cmd调用pyth ...

  10. groovy import java_在Java中调用Groovy方法的又一种方法:使用接口

    1.定义Java接口包含在Java中需要调用的Groovy方法 public interface IFoo { public Object run(Object foo); } 2.创建Groovy类 ...

最新文章

  1. CSS之布局(默认样式)
  2. 基于JavaWeb实现就业管理系统
  3. CFG_GCR全局配置寄存器设置
  4. python的代码有哪些_简单python代码类型有哪些?
  5. VD-BERT:用BERT搭建统一的视觉对话模型
  6. boost::hof::unpack用法的测试程序
  7. keepalived 原理,安装,配置
  8. [转]Android 项目的代码混淆,Android proguard 使用说明
  9. 牛客题霸 [ 未排序数组中累加和为给定值的最长子数组长度] C++题解/答案
  10. mysql中数据定义和数据控制语言_MySQL 数据定义语言(DDL)
  11. 一个家系突变分析一篇 SCI | 文章解析
  12. APP自动化测试系列之adb连接真机和模拟器
  13. Matlab Tricks(二十)—— Hilbert matrix 的创建
  14. ewebeditor 路径
  15. OpenGL光源位置
  16. linux网卡ip自动丢失,重启电脑IP设定丢失的故障处理
  17. 有能力的人从不抱怨大环境!
  18. 算法练习(21):Frog Jump
  19. [清华集训2014]玛里苟斯
  20. 自研数据库CynosDB存储系统如何实现即时恢复

热门文章

  1. XCODE中,修改苹果APP支持哪些设备
  2. Day_05显示鼠标
  3. redis 正则匹配value_Java-19-Redis
  4. VC++ DLL注入目标程序
  5. c++ primer plus 复合类型之字符串、string、结构体、共用体、指针
  6. python json解释器_Python JSON
  7. python linux调试_linux怎么调试python
  8. java 装配_spring Java显示装配
  9. origin如何绘制双y轴曲线_Origin系列:绘制双Y轴图
  10. 2014年4月管理计算机应用,全国2014年4月自考管理系统中计算机应用真题