我正在创建一个 python 脚本,它使用子进程运行 rsync,然后获取标准输出并打印它。
但是有个问题。当rsync开始上传文件时,会在一个动态行中显示当前文件、速度等,不断变化。 此行永远不会使用我的脚本打印。我该如何解决?
您可以在这里找到我的完整脚本:https://github.com/danielholm/BareShare/blob/master/bareshare.py
还有一个片段:
self.rsyncRun = subprocess.Popen(["rsync","--bwlimit="+upload,"--stats","--progress","-azvv","-e","ssh",local,remotedir,"--log-file="+rsynclog], stdout=subprocess.PIPE)
self.line = self.rsyncRun.stdout.readline()
rsyncM = self.line.rstrip()
self.labelR.set_label(rsyncM)
print "DEBUG: "+rsyncM
请您参考如下方法:
尝试使用 -q 运行 rsync 或省略 -progress 参数,这将抑制动态进度更新。
