运行 java 主要 class 在 python 中使用 subprocess.Popen

running java main class using subprocess.Popen in python

我想通过 python 使用 subprocess.Popen() 执行 java main class main.javamain.java 需要 3 个参数。

不知道怎么办?例如我有一个 HelloWorld.java class:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!" + args[0]);
    } }

我尝试在 python 中使用以下命令调用它:

print (subprocess.Popen('java C:/Users/testing/Hello.Main sayHello', shell=True, stdout=subprocess.PIPE).stdout.read())

其中 'sayHello' 是我要传入的字符串参数。它说

错误:无法找到或加载主 class C:.Users.testing.Hello.Main

谢谢

您可以通过以下方式 运行 您的 java 扩展名为 .class 的文件:

java your.path.Main arg1 arg2

其中,

  • java - 命令,运行 是 Java 解释器
  • your.path.Main - 你的全名 class(没有 .class
  • arg1 arg2 - 参数(由空格或 " 之间书写)

此外,当您格式化此行时,它会在 subprocess.Popen() 中作为参数传输。

subprocess.Popen('java your.path.Main arg1 arg2')

我不是Python程序员,因为我建议你阅读documentation about this method