由于一些加密原因,我正在尝试将java和python结合起来,其中加密代码实际上是提供者的java文件,但我正在编写python代码。所以我想要的是在java上执行加密代码
x = os.system("java file.java"),然后返回java执行中的值,就像函数中的那样。
print x如下所示:
java_hello_world.py
import os
x = os.system("java HelloWorld")
print x # This should print HELLO WORLDHelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
String x;
x = "Hello World";
System.out.println(x);
return "HELLO WORLD";
}
}顺便说一下,上面的java文件返回一个错误:
HelloWorld.java:7: error: incompatible types: unexpected return value
return x;PS
我不是Java开发人员,我没有任何经验
只要我在python中有我想要的结果,任何建议的方法都会很好。
发布于 2016-11-15 09:04:34
当您调用另一个进程时,没有返回值的。
您唯一希望得到的是一个数值返回代码值。
你真正要找的是:
有关您的python如何读取子进程正在编写的标准输出的说明,请参见这里。
而且要记录在案:没有弯路。如果您打算对您的java代码做任何“严肃”的事情,那么您必须通过学习足够的来实现这一点。不理解一个方法说空不能有一个返回某事语句,这是一个很好的例子。
对于python方面的事情也是如此。是的,os.system()是调用某些进程的简单、直接的方法。但是如果您对这个主题做了一点研究,您可能已经看到python中有子流程模块.以及它的文档。
发布于 2016-11-15 08:59:13
https://stackoverflow.com/questions/40605559
复制相似问题