我正在尝试使用ProcessBuilder将python脚本的返回值获取到Java中。我期望在Java中具有“这就是我正在寻找的”的值。谁能告诉我下面的逻辑中有什么问题?
我正在使用python3,并希望使用java标准库来完成此操作。
test.py 代码
import sys
def main33():
return "This is what I am looking for"
if __name__ == '__main__':
globals()[sys.argv[1]]()
Java 代码
String filePath = "D:\\test\\test.py";
ProcessBuilder pb = new ProcessBuilder().inheritIO().command("python", "-u", filePath, "main33");
Process p = pb.start();
int exitCode = p.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
line = in.readLine();
while ((line = in.readLine()) != null){
line = line + line;
}
System.out.println("Process exit value:"+exitCode);
System.out.println("value is : "+line);
in.close();
输出
Process exit value:0
value is : null
守候你守候我
守着一只汪
相关分类