专栏首页python3java调用python方法总结

java调用python方法总结

http://download.csdn.net/detail/xingjiarong/9429266 下载jython包,把其中的jython.jar添加到工程目录

一、在java类中直接执行python语句

import org.python.util.PythonInterpreter;
public class FirstJavaScript {
    public static void main(String args[]) {

        PythonInterpreter interpreter = new PythonInterpreter();

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

    }// main
}

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

二、在java中调用本机python脚本中的函数

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

def adder(a, b):  
    return a + b  

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

java类代码 FirstJavaScript:

import org.python.core.PyFunction;
import org.python.core.PyInteger;
import org.python.core.PyObject;
import org.python.util.PythonInterpreter;

public class FirstJavaScript {
    public static void main(String args[]) {

        PythonInterpreter interpreter = new PythonInterpreter();
        interpreter.execfile("C:\\Python27\\programs\\my_utils.py");
        PyFunction func = (PyFunction) interpreter.get("adder",
                PyFunction.class);

        int a = 2010, b = 2;
        PyObject pyobj = func.__call__(new PyInteger(a), new PyInteger(b));
        System.out.println("anwser = " + pyobj.toString());

    }// main
}

得到的结果是:anwser = 2012

三、使用java直接执行python脚本

建立脚本inputpy

 #open files  

 print 'hello'  
 number=[3,5,2,0,6]  
 print number  
 number.sort()  
 print number  
 number.append(0)  
 print number  
 print number.count(0)  
 print number.index(5)

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

import org.python.util.PythonInterpreter;

public class FirstJavaScript {
    public static void main(String args[]) {

        PythonInterpreter interpreter = new PythonInterpreter();
        interpreter.execfile("C:\\Python27\\programs\\input.py");
    }// main
}

得到的结果是: view plain

hello  
[3, 5, 2, 0, 6]  
[0, 2, 3, 5, 6]  
[0, 2, 3, 5, 6, 0]  
2  
3  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python入门基本语法

    以下主要讲述Python的一些基础语法,包含行的缩进在python中的重要意义,python中常见的保留字和引号的使用,如何实现单行注释和多行注释。

    py3study
  • python isinstance和is

    py3study
  • (面试题)python面试题集锦-附答案

      GIL是python的全局解释器锁,在一个进程中如果有多个线程执行,其中一个线程在执行的时候会霸占python解释器(加锁即GIL),那么其他线程就不能执行...

    py3study
  • 简单python--实现摄氏华氏温度转换

    葆宁
  • Python基础(中)

    注意:在python3中input获取键盘输入的数据,都以字符串的方式进行保存,即使输入的是数字。

    py3study
  • 小甲鱼《零基础学习Python》课后笔记(三):小插曲之变量和字符串

    1.  编写程序:calc.py,要求用户输入1到100之间的数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求打印“你大爷好丑”

    小火柴棒
  • 【数说商学院】Farmeron:农场主的数据分析工具

    数说商学院每周为大家介绍一家大数据创业公司,拓宽视野、汲取灵感、勾搭合作。最近的关注重点在于农业大数据,上周我们为大家介绍了国内的一家农业大数据公司,点击查看 ...

    数说君
  • 微软考虑将Python作为官方脚本语言添加到Excel中?

    https://www.bleepingcomputer.com/news/microsoft/microsoft-considers-adding-pytho...

    HuangWeiAI
  • pbkiller更新支持Cocos Creator 2.1.2

    上周有公众号伙伴MichaelZhang反馈,pbkiller 在最新的 Cocos Creator 2.1.2 上有报错,惊出了我一身冷汗!

    张晓衡
  • 十分钟入门Pandas

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    村雨遥

扫码关注云+社区

领取腾讯云代金券