如何从这条线每10秒提取一次百分比?

时间:2012-12-17 10:09:04

标签: python parsing

  

可能重复:
  How to show the rsync --progress in web browser using DJango?

我有这个linux命令:

rsync -avz --info=progress2 source:/file /destination

我在Python中使用过这样的:

proc = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', '--info=progress2', source12, destination], 
                                    stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]

这将存储输出以及proc变量的进度,如下所示:

receiving incremental file list
rathi/
rathi/20090209.02s1.1_sequence.txt.gz
    209,398,969  27%   11.95MB/s    0:00:45  

我只想从上面的行中提取进度百分比。我想检查每1分钟的变量并提取更新的百分比。对于解析,我认为可以使用re模块。我怎样才能达到我的结果?感谢

1 个答案:

答案 0 :(得分:2)

你可以确实获得进步。

progress = re.search('\d*%',str).group()

其中str是您要搜索的字符串。

编辑:

您需要制作一个while循环,例如

while(progress < 101%):
    get_new_progress
    re.search....