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();
<("a=[5,2,3,9,4,0]; ");
<("print(sorted(a));"); //此处python语句是3.x版本的语法
python转java代码<("print sorted(a);"); //此处是python语句是2.x版本的语法
}
3.java+python 传值和回值⽅法
//java+python 传值和回值⽅法
@Test
public void getPythonParam() throws Exception {
PythonInterpreter interpreter = new PythonInterpreter();
File f = new Class().getResource("/").getPath());//获取类加载的根路径
File f2 = new Class().getResource("").getPath());//获取当前类的所在⼯程路径; File directory = new File("");// 参数为空
String courseFile = CanonicalPath();
log.info(f2+"---f---"+f);
String string = courseFile+"/src/main/resources/python/pyone.py";
log.info(courseFile+"/src/main/resources/python/pyone.py");
// 第⼀个参数为期望获得的函数(变量)的名字,第⼆个参数为期望返回的对象类型
PyFunction pyFunction = ("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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论