0

可能重复:
如何使用 DJango 在网络浏览器中显示 rsync --progress?

我有这个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 分钟检查一次变量并提取更新后的百分比。对于解析我认为可以使用remodule. 我怎样才能达到我的结果?谢谢

4

1 回答 1

2

您确实可以通过 re 获得进展。

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

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

编辑:

你需要做一个while循环,例如

while(progress < 101%):
    get_new_progress
    re.search....
于 2012-12-17T10:26:07.810 回答