一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Java實現的執行python腳本工具類示例【使用jython.jar】

Java實現的執行python腳本工具類示例【使用jython.jar】

2021-01-25 00:34蛋疼的淡定哥 Python

這篇文章主要介紹了Java實現的執行python腳本工具類,結合實例形式分析了java使用jython.jar執行Python腳本的具體操作技巧,需要的朋友可以參考下

本文實例講述了Java實現的執行python腳本工具類。分享給大家供大家參考,具體如下:

這里java中執行python腳本工具類,需要使用jython.jar

java中執行python腳本工具類,學習的時候寫著玩:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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;
  }
}

附:jython.jar點擊此處本站下載。

希望本文所述對大家java程序設計有所幫助。

原文鏈接:https://www.oschina.net/code/snippet_119671_5971

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 乌克兰一级毛片 | 午夜AV内射一区二区三区红桃视 | 婷婷九月 | 亚洲午夜精品久久久久久抢 | 蜜桃在线 | 毛片网站大全 | www.一级片.com| 久久中文字幕乱码免费 | 日本韩国无矿砖码 | 日本人作爰啪啪全过程 | 亚洲精品AV无码喷奶水糖心 | 被强迫变性翘秘书 | 特黄特色一级aa毛片免费观看 | 日韩高清一区 | 国产精品久久久久久吹潮 | 国产99精品| 99午夜| 四虎影视在线影院在线观看 | 四虎影院久久 | 红色一片在线影视 | 日本a在线天堂 | 日本www色视频成人免费 | 国产黄频在线观看 | 日韩大片免费看 | 欧美人xxxxxbbbb | 美女岳肉太深了使劲 | 毛片大全免费看 | 男人天堂色男人 | 日本高清免费中文字幕不卡 | 美女gif趴跪式抽搐动态图 | 和直男装修工在工地啪 | 男人的影院| 欧美日韩精品一区二区三区视频播放 | 农村妇女野战bbxxx农村妇女 | 欧美另类69xxx | 国产精品青青在线观看香蕉 | 亚洲天堂网站在线 | 亚洲精品乱码久久久久久蜜桃图片 | 黑人粗长大战亚洲女 | 午夜精品久视频在线观看 | 亚洲午夜久久久久影院 |