登录  /  注册

在java中调用python方法

巴扎黑
发布: 2016-12-07 10:35:16
原创
3243人浏览过

1.在java类中直接执行python语句 

view plain 
import javax.script.*;  
import org.python.util.pythoninterpreter;  
import java.io.*;  
import static java.lang.system.*;  

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,在控制台显示出来,这是直接进行调用的。 

2.在java中调用本机python脚本中的函数: 
   首先建立一个python脚本,名字为:my_utils.py 

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

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

java类代码 firstjavascript: 

view plain 
import javax.script.*;   
import org.python.core.pyfunction;  
import org.python.core.pyinteger;  
import org.python.core.pyobject;  
import org.python.util.pythoninterpreter;    
import java.io.*;  
import static java.lang.system.*; 
  
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);//adder python函数名  
        int a = 2010, b = 2 ;  
        pyobject pyobj = func.__call__(new pyinteger(a), new pyinteger(b));//传值,a b  
        system.out.println("anwser = " + pyobj.tostring());  
    }//main  
}  

得到的结果是:anwser = 2012 

3.使用java直接执行python脚本, 
建立脚本inputpy 

view plain 
#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类,调用这个脚本: 

view plain 
import javax.script.*;  
import org.python.core.pyfunction;  
import org.python.core.pyinteger;  
import org.python.core.pyobject;  
import org.python.util.pythoninterpreter;  
import java.io.*;  
import static java.lang.system.*;  

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]  

3

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号