首页 文章

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

提问于
浏览
2

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

我想知道怎么做?例如,我有一个 HelloWorld.java 类:

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'是我要传递的字符串args . 它说

Error: Could not find or load main class C:.Users.testing.Hello.Main

谢谢

1 回答

  • 1

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

    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 .

相关问题