ловить стандартный вывод в реальном времени из подпроцесса
я бы хотелsubprocess.Popen()
rsync.exe в Windows и распечатайте стандартный вывод в Python.
Мой код работает, но это не такне поймать прогресс, пока передача файла не будет завершена! Я хочу напечатать прогресс для каждого файла в режиме реального времени.
Использование Python 3.1 теперь, так как я слышал, что лучше работать с IO.
import subprocess, time, os, sys
cmd = "rsync.exe -vaz -P source/ dest/"
p, line = True, 'start'
p = subprocess.Popen(cmd,
shell=True,
bufsize=64,
stdin=subprocess.PIPE,
stderr=subprocess.PIPE,
stdout=subprocess.PIPE)
for line in p.stdout:
print(">>> " + str(line.rstrip()))
p.stdout.flush()