subprocess.Popen()
Windowsでrsync.exeを実行し、Pythonでstdoutを出力したいと思います。
私のコードは機能しますが、ファイル転送が完了するまで進行状況をキャッチしません!各ファイルの進捗状況をリアルタイムで印刷したい。
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()