Я использую Python 2.7.2 в Windows и пытаюсь автоматизировать ряд инструментов командной строки, используя подпроцесс следующим образом:
p = subprocess.Popen(mip4 + " status", bufsize=1, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
stdout, stderr = p.communicate()
for line in stdout:
print line
Вместо вывода полной строки, оператор print печатаетодиночный символ с последующим переводом строки.
Однако, если я сделаю:
print p.communicate()
, полный вывод будет напечатан правильно.
Я перепробовал все параметры размера буфера, но безрезультатно.