从Java运行python脚本时出错

时间:2019-02-15 14:44:37

标签: java python-3.x

我一直试图从Java调用Python 3.x程序。我需要从python获取输出并将其写入文件。这就是我所做的。这正在创建一个Json文件,但没有给出输出。请帮我在这里。

public static void main(String[] args) throws ScriptException, IOException {
    Process p = Runtime.getRuntime().exec("python <path to the file>/reg.py");
    BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String ret = in.readLine();
    System.out.println(ret);

    BufferedWriter out = new BufferedWriter(new FileWriter("<some path>/output.json"));
    out.write(ret);
    out.close();
}

1 个答案:

答案 0 :(得分:0)

好吧,所以在我们发表评论后,您的脚本抛出一个错误,因为它找不到文件output.txt。现在,问题是这已记录到错误流而不是常规错误流中。您应该做的是打开该流并阅读:

{
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: [
          {
            loader: 'babel-loader',
            options: {
              // options
            },
          },
        ],
      },
    ],
  },
}

实际上,您可以打开两个流:errorStream和outputStream,并先读取错误流以检查其中是否包含某些内容(这意味着执行失败)。如果没有,请打开outputStream并正常读取其内容。