Java整合Python方法总结
1.在pom中引用
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7.0</version>
</dependency>
2.直接在java类中写python语句了,具体代码如下:
@Test
public void getPython() {
log.info("----开始-------");
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("a=[5,2,3,9,4,0]; ");
interpreter.exec("print(sorted(a));"); //此处python语句是3.x版本的语法
interpreter.exec("print sorted(a);"); //此处是python语句是2.x版本的语法
}
3.java+python 传值和回值方法
//java+python 传值和回值方法
@Test
public void getPythonParam() throws Exception {
PythonInterpreter interpreter = new PythonInterpreter();
File f = new File(this.getClass().getResource("/").getPath());//获取类加载的根路径
File f2 = new File(this.getClass().getResource("").getPath());//获取当前类的所在工程路径;
File directory = new File("");// 参数为空
String courseFile = directory.getCanonicalPath();
log.info(f2+"---f---"+f);
String string = courseFile+"/src/main/resources/python/pyone.py";
log.info(courseFile+"/src/main/resources/python/pyone.py");
interpreter.execfile(string);
// 第一个参数为期望获得的函数(变量)的名字,第二个参数为期望返回的对象类型
PyFunction pyFunction = interpreter.get("add", PyFunction.class);
int a = 5, b = 10;
//调用函数,如果函数需要参数,在Java中必须先将参数转化为对应的“Python类型”
PyObject pyobj = pyFunction.__call__(new PyInteger(a), new PyInteger(b));
System.out.println("the anwser is: " + pyobj);
}
# coding=utf-8
print("Do simple thing in Python")
print("输出中文")
def add(a,b):
return a + b
Java整合Python方法总结相关推荐
- Java 调用 Python 方法学习笔记
文章转载自: 作者:IT_xiao_bai 来源:CSDN 原文:https://blog.csdn.n ...
- java可以调用python程序吗_我们可以从java调用python方法吗?
是的,那可以做到.通常,这将通过创建PythonInterpreter对象然后使用它来调用python类来完成. 请考虑以下示例: Java: import org.python.core.PyIns ...
- java调用python,传参json字符串,含中文传参
java调用python,传参json字符串 python脚本内容(test.py) # -*- coding: utf-8 -*-def main(input):return input java调 ...
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...
- 无监督方法实现C++、Java、Python 代码转换,程序员:出了bug怎么办,两种语言都要看吗?...
点击上方"视学算法",选择加"星标" 重磅干货,第一时间送达 本文转载自:机器之心 | 参与:魔王 Facebook 提出的无监督代码转换方法 TransC ...
- java x00_有没有通过python反序列化java对象的方法
我将java对象存储在hbase中(例如,假设我有一个对象'User',有3个参数,比如firstname.middlename和lastname).我在java中使用以下代码进行序列化Object ...
- 【Java】使用Java调用Python的四种方法
写在前面 为啥一个好好的岗位是Java开发工程师要去做写python呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕).由于在选择企业的时候没看清企业性质,看了要求以为就是互联网 ...
- python映射实体类_将Python(django)实体类转换为Java的好方法 - java
我正在寻找一种"复制" /将模型从Python源代码转换为Java源代码的好方法.我的想法是在服务器上使用Python django框架生成实体模型类.另一方面,我想将实体类转换为 ...
- Java调用Python的方法
Java调用Python的方法 方法一:Runtime.getRuntime() 首先,add_test.py代码如下 def add(a,b):return a + b res = add(3,4) ...
最新文章
- getCacheDir() 和 getFilesDir() 的区别
- 深入理解学习Git工作流
- numpy 中的三个特别的索引操作 c_, r_, s_
- Kong APIGW — 安装与配置
- 操作篇 bgp协议了解与学习
- kFeedback开源啦
- java数组使用实验报告_JAVA数组与类的定义-java实验报告
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 22丨页面推荐【难度中等】​
- ASP.NET Core学习——7
- Go http访问使用代理
- Macbook使用技巧,分享必备
- linux查看日志内存,关于linux查询内存,CPU,存储空间和日志查询的的常用命令及参数-站长资讯中心...
- 公司发展历程企业项目进度大事记时间轴PPT模板
- 教育报十二篇连载——美国中小学信息技术教育走笔
- Matlab系列教程_基础知识_绘图(一)
- c#FileStream文件读写可能会出现乱码
- 完美修改证件照背景详细步骤,可以消除边界处的白边或者红边
- html5 canvas绘制圆形印章,以及与页面交互
- 开年福利!微服务前后端开发手册,打造完美全栈工程师
- 计算机怎么剪切音乐然后合在一起,电脑上怎么剪切、合并音乐