python是用java开发的_使用Java调用Python

Jython是用Java语言编写的Python实现,并与Java平台集成在一起。Java程序员通过Jython可以实现直接执行Python语句、执行Python脚本,还能实现执行Python函数,与Python函数进行变量交互。

很多时候,可以通过Python进行计算模块的编写,Java负责逻辑应用的编写,二者结合起来事半功倍。美中不足的一点,就是Jython对Python的某些第三方库支持不是太好。下面通过两段代码简单介绍一下如何通过Jython来实现Java调用Python并执行结果。

配置Eclipse:

下载jython-standalone-2.7.0.jar,Eclipse下导入jar包

project.png

jython在Eclipse控制台会出现”Failed to install ”: java.nio.charset.UnsupportedCharsetException: cp0.”的错误,解决方法:

Run → Run Configurations,选择第二个页签Arguments,在VM arguments中添加-Dpython.console.encoding=UTF-8

jython-300x254.png

Python程序编写(python_func.py):

#coding: utf-8

def add(a, b):

return a+b

print add(1, 2)

Java程序编写(HelloWorld.java):

package helloworld;

import org.python.util.PythonInterpreter;

import org.python.core.PyFunction;

import org.python.core.PyInteger;

import org.python.core.PyObject;

public class HelloWorld

{

public static void main(String[] args)

{

System.out.println("Hello World!");

// 开启Python解释器

PythonInterpreter interpreter = new PythonInterpreter();

// Java直接执行Python语句

interpreter.exec("print 'Hello World!'");

// Java执行Python脚本

String basePath = HelloWorld.class.getResource("").getPath();

interpreter.execfile(basePath+"python_func.py");

// Java执行Python函数

PyFunction func = (PyFunction) interpreter.get("add", PyFunction.class);

int a = 1, b = 2;

PyObject pyobj = func.__call__(new PyInteger(a), new PyInteger(b));

System.out.println(pyobj.toString());

// 关闭Python解释器

interpreter.close();

}

}

运行结果:

Hello World!

Hello World!

3

3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值