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

时间:2015-07-16 20:55:28

标签: java python subprocess

我想使用main.java通过python执行java主类subprocess.Popen()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。它说

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

由于

1 个答案:

答案 0 :(得分:1)

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

java your.path.Main arg1 arg2

其中,

  • java - 运行Java解释器的命令
  • your.path.Main - 班级的全名(不含.class
  • arg1 arg2 - 参数(由空格或"之间)

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

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

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