运行 java 主要 class 在 python 中使用 subprocess.Popen
running java main class using subprocess.Popen in python
我想通过 python 使用 subprocess.Popen()
执行 java main class main.java
。 main.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。
我想通过 python 使用 subprocess.Popen()
执行 java main class main.java
。 main.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。