读取从Python调用的Java应用程序的输出(即通过System.out.println)最好的方法是什么
subprocess.Popen("java MyClass", shell=True)
没有写和读文件? (使用Jython等不是一种可能的解决方案)
答案 0 :(得分:5)
p1 = subprocess.Popen(["/usr/bin/java", "MyClass"], stdout=subprocess.PIPE)
print p1.stdout.read()
答案 1 :(得分:3)
我刚刚找到解决方案:
p = subprocess.Popen("java MyClass",
shell=True,
stdout=subprocess.PIPE)
output, errors = p.communicate()
S.Mark也很好!