欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java中执行python脚本工具类,python工具类,java中执行pytho

来源: javaer 分享于  点击 20565 次 点评:134

java中执行python脚本工具类,python工具类,java中执行pytho


java中执行python脚本工具类,需要jython.jar

import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.python.core.PyObject;import org.python.util.PythonInterpreter;public final class JythonUtil {    private JythonUtil(){}    /**     * 执行某个.py文件     * @param filePath     * @throws IOException     */    public static void pythonExecute(String filePath) throws IOException{        PythonInterpreter pin = new PythonInterpreter();        InputStream is = new FileInputStream(filePath);        pin.execfile(is);        is.close();    }    /**     * 获取python程序的变量值     * @param filePath     * @param ponames     * @return     * @throws IOException     */    public static List<PyObject> transP2JData(String filePath, String...ponames) throws IOException{        PythonInterpreter pin = new PythonInterpreter();        InputStream is = new FileInputStream(filePath);        pin.execfile(is);        is.close();        List<PyObject> pos = new ArrayList<>();        for (String poname : ponames) {            PyObject po = pin.get(poname);            pos.add(po);        }        return pos;    }    /**     * 将参数赋给python程序执行     * @param filePath     * @param pomaps     * @throws IOException     */    public static void transJ2PData(String filePath, Map<String, Object> pomaps) throws IOException {        PythonInterpreter pin = new PythonInterpreter();        InputStream is = new FileInputStream(filePath);        for (String pomapkey : pomaps.keySet()) {            pin.set(pomapkey, pomaps.get(pomapkey));        }        pin.execfile(is);        is.close();    }    /**     * 将参数赋给python程序执行,并获取python中的变量值     * @param filePath     * @param pomaps     * @param ponames     * @return     * @throws IOException     */    public static List<PyObject> transJ2PData(String filePath, Map<String, Object> pomaps, String...ponames) throws IOException {        PythonInterpreter pin = new PythonInterpreter();        InputStream is = new FileInputStream(filePath);        for (String pomapkey : pomaps.keySet()) {            pin.set(pomapkey, pomaps.get(pomapkey));        }        pin.execfile(is);        is.close();        List<PyObject> pos = new ArrayList<>();        for (String poname : ponames) {            PyObject po = pin.get(poname);            pos.add(po);        }        return pos;    }}
相关栏目:

用户点评