Вызов приложения Java с «подпроцессом» из Python и чтение вывода приложения Java - PullRequest
4 голосов
/ 05 марта 2010

Какой самый лучший способ прочитать вывод (то есть через System.out.println) приложения Java, которое вызывается из Python с

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

без записи и чтения файла? (Использование Jython и т. Д. Не является возможным решением)

Ответы [ 2 ]

5 голосов
/ 05 марта 2010
p1 = subprocess.Popen(["/usr/bin/java", "MyClass"], stdout=subprocess.PIPE)
print p1.stdout.read() 
3 голосов
/ 05 марта 2010

Я только что нашел решение:

p = subprocess.Popen("java MyClass",
          shell=True,
          stdout=subprocess.PIPE)
output, errors = p.communicate()

У С.Марка тоже все хорошо!

...