1、本地环境安装的是Python 2.7.11

2、用maven下载jython依赖

  1. <pre name="code" class="html"><dependency>
  2. <groupId>org.python</groupId>
  3. <artifactId>jython</artifactId>
  4. <version>2.7.0</version>
  5. </dependency>

3、python脚本编写

  1. #coding:utf-8
  2. def adder(a, b):
  3. return a + b
  4. def mytest(str2):
  5. print str2
  6. return 'call success !!!'

4、Java调用Python

  1. <pre name="code" class="java">package test1;
  2. import java.util.Properties;
  3. import org.python.core.PyFunction;
  4. import org.python.core.PyInteger;
  5. import org.python.core.PyObject;
  6. import org.python.core.PyString;
  7. import org.python.util.PythonInterpreter;
  8. public class Java2Python {
  9. public static void main(String args[]) {
  10. Properties props = new Properties();
  11. props.put("python.home","D:/Python27/Lib");
  12. props.put("python.console.encoding", "UTF-8"); // Used to prevent: console: Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0.
  13. props.put("python.security.respectJavaAccessibility", "false"); //don't respect java accessibility, so that we can access protected members on subclasses
  14. props.put("python.import.site","false");
  15. Properties preprops = System.getProperties();
  16. PythonInterpreter.initialize(preprops, props, new String[0]);
  17. PythonInterpreter interpreter = new PythonInterpreter();
  18. interpreter.execfile("E:/workspace3/test1/src/main/java/test1/my_utils.py");
  19. PyFunction adder = (PyFunction) interpreter.get("adder", PyFunction.class);
  20. int a = 30, b = 50;
  21. PyObject pyobj = adder.__call__(new PyInteger(a), new PyInteger(b));
  22. System.out.println("anwser = " + pyobj.toString());
  23. PyFunction mytest = (PyFunction) interpreter.get("mytest", PyFunction.class);
  24. PyObject pyobj2 = mytest.__call__(new PyString("this is java project!!!"));
  25. System.out.println(pyobj2.toString());
  26. interpreter.close();
  27. }
  28. }

以上方式可以实现Java调用Python,但是在python 脚本中只能有python的原生api,如果在在脚本中有引入pandas,numpy之类的第三方扩展包,还是会是会找不到,这个问题正在查找是什么原因..

 numpy , scipy 都是 c python 的第三方模块,是用 c (部分 c++, 和 fortran )写的,必然不支持

Jython调用不包含第三方库的python脚本相关推荐

  1. python第三方库排行-Python模块汇总(常用第三方库)

    模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块 优点: 提高代码的可维护性 ...

  2. 以下用于数据存储领域的python第三方库是-Python 二级选择题

    88.下面代码的输出结果是 ( A ) print(round(0.1 + 0.2,1) == 0.3) A: True B: 0 C: 1 D: False 解释: round 是一个四舍五入的函数 ...

  3. CMake基础 第8节 包含第三方库

    介绍# 几乎所有重要的项目都需要包含第三方库.头文件或程序.CMake支持使用find_package()函数查找这些工具的路径.这将从CMAKE_MODULE_PATH中的文件夹列表中搜索格式为Fi ...

  4. 自动安装第三方库python,python第三方库自动安装脚本

    #python第三方库自动安装脚本,需要在cmd中运行此脚本 #BatchInstall.py import os libs = {"numpy","matplotlib ...

  5. 第三方库自动安装脚本(复习)

    第三方库自动安装脚本 一."第三方库自动安装脚本"问题分析 1.1 问题分析第三方库自动安装脚本需求:批量安装第三方库需要人工干预,能否自动安装?自动执行pip逐一根据安装需求安装 ...

  6. java调用第三方dll文件 源码_C++调用python文件(包含第三方库)

    本文内容主要参考以下两篇文章: 武军:C++中调用python(VS2017)​zhuanlan.zhihu.com C++调用python的那些坑(详细教程步骤)_giser_xupf的博客-CSD ...

  7. 以下用于数据存储领域的python第三方库是-Python数据存储及表示

    [http://naotu.baidu.com/file/15cbc506e3da5e640a40659058d5be24?token=873f2ab3461d8f9a](http://naotu.b ...

  8. python第三方库排行-Python常用第三方库总结

    网络爬虫 网络请求 requests: Requests allows you to send HTTP/1.1 requests extremely easily. 一个处理http请求的客户端库, ...

  9. 以下用于数据存储领域的python第三方库是-python第三方库系列之一--json

    认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~ 一.先讲讲json的出现,就要先讲讲序列化 1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以 ...

最新文章

  1. Kataspace:用HTML5和WebGL创建基于浏览器的虚拟世界
  2. nginx echo 输出 检查配置正确性
  3. 搭建IONIC开发环境
  4. YBTOJ:前缀询问(trie树)
  5. Hibernate3.x,hibernate3.x,Hibernate3.x整合Spring3.x不能实现自动创建表结构的解决办法:...
  6. python实验二报告_20172304 2019-2020-2 《Python程序设计》实验二报告
  7. mysql整理_MySQL 日常整理
  8. 深度学习 --- 优化入门六(正则化、参数范数惩罚L0、L1、L2、Dropout)
  9. gcc编译与vc编译器区别
  10. Ubuntu完美安装QQ
  11. sql安装过程中,为 SQL Server 代理服务提供的凭据无效。若要继续操作,请为 SQL
  12. IP电话的VoIP语音网关设计
  13. 自建 IPA 分发平台
  14. CAShapeLayer把图片做成圆形效果
  15. 华为、华三交换机查看光模块收发光及光模块信息
  16. 计算机快捷键ctrl记忆,PS篇:有效记忆快捷键
  17. signature=3d7534face990de7e25e7438440abe49,Designing the User Interface 5e
  18. 触摸屏和显示屏参考文献
  19. python微信发红包看照片_微信发原图会泄露位置信息?用Python教你通过图片获取用户信息!...
  20. 人重要的是知耻而后勇

热门文章

  1. 解题报告——例题 5-6团体队列(Team Queue UVa 540)——31行代码解决
  2. linux查找influx的安装位置,InfluxDB学习之InfluxDB的安装和简介 | Linux大学
  3. Python中的数值类型
  4. verilog 给数组集体赋值_Verilog中如何对数组赋值(存储器memory详解)
  5. Java 字符串,byte[],16进制的字符串互转
  6. 用java正则表达式验证字符串(邮箱与网址)
  7. 更改android模拟器sdcard文件夹的权限
  8. bootstrap设置button不显示_电脑便签怎么显示不关闭?电脑云便签敬业签怎么设置显示桌面?...
  9. mysql mydump还原_用mydump对所有数据库进行备份,还原具体案例
  10. mysql io_MySQL服务器 IO 100%的分析与优化方案