我正在尝试将java和python结合起来用于某些加密原因,其中加密代码实际上是来自提供程序的java文件,但我正在编写python代码。所以我想要的是使用
在java上执行加密代码print x
只需在函数
中返回java执行中的值import os
x = os.system("java HelloWorld")
print x # This should print HELLO WORLD
像这样:
java_hello_world.py
public class HelloWorld {
public static void main(String[] args) {
String x;
x = "Hello World";
System.out.println(x);
return "HELLO WORLD";
}
}
HelloWorld.java
HelloWorld.java:7: error: incompatible types: unexpected return value
return x;
顺便提一下上面的java文件会返回错误:
android
PS
我不是Java开发人员,我没有经验
只要我在python
中得到了我想要的结果,任何建议的方法都会很棒答案 0 :(得分:1)
当您调用另一个进程时,没有返回值。
您唯一希望的是数字返回代码值。
您实际需要的是:
请参阅here以获取有关python脚本如何读取子进程正在编写其stdout的说明。
记录:没有弯路。如果你打算做任何事情"认真的"使用您的Java代码,您必须学习足够的Java来实现这一点。不理解一个说 void 的方法不能有返回语句的方法就是一个很好的例子。
对于python方面也是如此。是的, os.system()是调用某个进程的简单直接的方法。但是,如果您对该主题进行了一些研究,您可能已经看到python中存在子进程模块...以及它的documentation。
答案 1 :(得分:0)