java - 如何使用Runtime在java中调用python程序

标签 java python runtime

我想使用来自 java 的参数调用 python 程序。但我的输出是空白的。代码在这里。

Python 代码在这里:

import sys

print(sys.argv[1])

java代码在这里:

public class PrintNumber{
    public static void main(String[] args){
        Process proc;
        try {
            proc = Runtime.getRuntime().exec("python ../pythonProgram/pythonProgram/PrintN.py 30");
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            proc.waitFor();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }   
}

我想输出30,有人能告诉我错在哪里吗?

最佳答案

你可以尝试一下:

String command = "python /c start python ../pythonProgram/pythonProgram/PrintN.py";

int param = 30;

proc = Runtime.getRuntime().exec(command + param);

引用:Run Python script by Java

关于java - 如何使用Runtime在java中调用python程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58909192/

相关文章:

java - 使用 ZK 在选项卡中加载页面

python - 在 python 中为 Tor 隐藏服务生成 private_key 和主机名

python - GraphLab-Create 模块未安装在 Python 3.5 (ubuntu) 上

compiler-construction - 无法理解有关编译器优化的声明

vb6 - "Invalid Procedure Call or Argument",但仅在已编译或 P 代码 EXE 中

java - 在方法调用时抛出异常

java - Eclipse/Android错误: R can not be resolved to a variable

java - map 实例未读取为对象实例

python - 被定义类型的类常量

java - 当调用构造函数时会发生什么(在这种情况下概念很清晰)?