Я использую механизм java для обработки некоторого контента.Popen communication vs Popen stdin.write()
Мне интересно, возьмет ли он лишние ресурсы, подобные этому.
command = 'some command to run my jar file'
p = subprocess.Popen(command, stdout = subprocess.PIPE, stdin = subprocess.PIPE)
Сравнение
output,err = p.communicate('some string that is passed to the java jar')
против
p.stdin.write('some string that is passed to the java jar \n')
p.stdin.flush()
output = p.stdout.readline()
Чтобы дать некоторый контекст проблемы. Строки генерируются «на лету», и поэтому я не хочу открывать и закрывать приложение Java, все, что генерируется.
Так, например:
Мой питон двигатель создает строку
«Hi i am going home now
», который передается в Java двигатель для запуска и получает выход.
Далее он производит 'He is going home now
', и процесс повторяется.
Очевидно, что программы Java написать System.out.println(output);