Java实现的执行python脚本工具类示例【使用jython.jar】
本文实例讲述了Java实现的执行python脚本工具类。分享给大家供大家参考,具体如下:
这里java中执行python脚本工具类,需要使用jython.jar
java中执行python脚本工具类,学习的时候写着玩:
importjava.io.FileInputStream; importjava.io.IOException; importjava.io.InputStream; importjava.util.ArrayList; importjava.util.List; importjava.util.Map; importorg.python.core.PyObject; importorg.python.util.PythonInterpreter; publicfinalclassJythonUtil{ privateJythonUtil(){} /** *执行某个.py文件 *@paramfilePath *@throwsIOException */ publicstaticvoidpythonExecute(StringfilePath)throwsIOException{ PythonInterpreterpin=newPythonInterpreter(); InputStreamis=newFileInputStream(filePath); pin.execfile(is); is.close(); } /** *获取python程序的变量值 *@paramfilePath *@paramponames *@return *@throwsIOException */ publicstaticListtransP2JData(StringfilePath,String...ponames)throwsIOException{ PythonInterpreterpin=newPythonInterpreter(); InputStreamis=newFileInputStream(filePath); pin.execfile(is); is.close(); List pos=newArrayList<>(); for(Stringponame:ponames){ PyObjectpo=pin.get(poname); pos.add(po); } returnpos; } /** *将参数赋给python程序执行 *@paramfilePath *@parampomaps *@throwsIOException */ publicstaticvoidtransJ2PData(StringfilePath,Map pomaps)throwsIOException{ PythonInterpreterpin=newPythonInterpreter(); InputStreamis=newFileInputStream(filePath); for(Stringpomapkey:pomaps.keySet()){ pin.set(pomapkey,pomaps.get(pomapkey)); } pin.execfile(is); is.close(); } /** *将参数赋给python程序执行,并获取python中的变量值 *@paramfilePath *@parampomaps *@paramponames *@return *@throwsIOException */ publicstaticList transJ2PData(StringfilePath,Map pomaps,String...ponames)throwsIOException{ PythonInterpreterpin=newPythonInterpreter(); InputStreamis=newFileInputStream(filePath); for(Stringpomapkey:pomaps.keySet()){ pin.set(pomapkey,pomaps.get(pomapkey)); } pin.execfile(is); is.close(); List pos=newArrayList<>(); for(Stringponame:ponames){ PyObjectpo=pin.get(poname); pos.add(po); } returnpos; } }
附:jython.jar点击此处本站下载。
更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。