当前位置: 首页 > 知识库问答 >
问题:

如何使用运行时在java中调用python程序

邵宏达
2023-03-14

我想用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,有人能告诉我哪里出错了吗?

共有1个答案

程皓轩
2023-03-14

你可以试试:

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

int param = 30;

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

参考:通过Java运行Python脚本

 类似资料:
  • 我编写了一个由五个。py脚本文件组成的Python程序。我希望从Java应用程序中执行这些python脚本的主要部分。 我有什么选择?使用PythonInterperter不起作用,例如,模块不能从Jython中加载(我不希望用户为这些依赖项的工作而确定他的Python路径)。 我使用Jython的CompileAll将整个文件夹编译为。class文件。我能以某种方式嵌入这些。class文件以从J

  • 问题内容: 我有一个在码头上运行的Jetty应用程序。我想使用本地IntelliJ调试此应用程序。我使用的是14.1版,因此我已经安装了Docker Integration插件。 在“云”下,我使用的是单击“ +”时显示的默认值。IntelliJ文档说这应该没问题。在这里 我不确定它们的用途,所以我不知道这些值是否正确。 在运行/调试配置下,我正在使用Docker部署,以及以下值: 当我尝试运行此

  • 问题内容: 我创建了一个独立的Java应用程序,试图在Ubuntu 10.04终端中使用“ cd”命令更改目录。我使用了以下代码。 但是上面的代码给出了以下错误 谁能告诉我如何实施? 问题答案: 没有称为的可执行文件,因为它 不能 在单独的进程中实现。 问题在于,每个进程都有自己的当前工作目录,将其实现为一个单独的进程只会更改 该 进程的当前工作目录。 在Java程序中,您 不能 更改当前的工作目

  • 问题内容: 我需要在docker容器中同时使用java和python来运行一些代码。 这是我的dockerfile:如果我不添加 FROM openjdk:slim,* 它将正常运行 * test.py应用程序位于同一目录中: 我收到此错误: 我到底在做什么错?我是Docker的新手,也许我错过了一步。 额外细节 我的目标 我必须运行一个运行Java文件的python程序。我正在使用的python

  • 我一直在尝试为javafx编译和运行这个示例 然后我试着运行这个例子 $java--mode-path"PATH_TO_FX":mods-m hellofx/hellofx。HelloFX 启动层初始化时出错java.nio.file.InvalidPathException:非法字符 所以我认为通往FX的路径是个问题,但事实并非如此。 $java——模块路径src:mods-m hellofx/

  • null (如果可能的话,它应该在db中创建表并生成html文件。我看到了http://velocity.apache.org/,所以是否可以使用它生成java代码。)