使用Python中的“subprocess”调用Java应用程序并阅读Java app输出

时间:2010-03-05 16:52:37

标签: java python communication

读取从Python调用的Java应用程序的输出(即通过System.out.println)最好的方法是什么

subprocess.Popen("java MyClass", shell=True)

没有写和读文件? (使用Jython等不是一种可能的解决方案)

2 个答案:

答案 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也很好!