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

标签 java python subprocess

我想通过 python 使用 subprocess.Popen() 执行 java 主类 main.javamain.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' 是我要传入的字符串参数。它说

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

谢谢

最佳答案

您可以按以下方式运行扩展名为 .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 .

关于java - 在 python 中使用 subprocess.Popen 运行 java 主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31464354/

相关文章:

python - 如何在Python中显示百分比和进度条?

来自 h2o 的 Python data.table

python - python 中的进程 - 获取非终止进程的标准输出

python - 尝试使用 mysqldump 导出数据库时,是什么导致 subprocess.call 输出空白文件?

java - Spring文件上传内部服务器错误

java - 在 java 中遍历 tar.gz

python - 我使用 random.shuffle 是错误的还是这是一个错误?

从 Matlab 调用的 Python 子进程失败

java - 匹配器找不到重叠的单词?

java - 在居中的 PopupPanel onLoad 中显示 GWT 图像