0
我正在使用rsync在Python中使用rsync
傳輸文件。我有基本的用戶界面,用戶可以選擇文件並啓動傳輸。我想顯示預期時間持續時間來傳輸他們選擇的所有文件。我知道所有文件的總大小(以字節爲單位)。向他們展示預期的文件傳輸持續時間的智能方式是什麼?它不一定非得精確。如何在Python中找到預期的文件傳輸持續時間?
我正在使用rsync在Python中使用rsync
傳輸文件。我有基本的用戶界面,用戶可以選擇文件並啓動傳輸。我想顯示預期時間持續時間來傳輸他們選擇的所有文件。我知道所有文件的總大小(以字節爲單位)。向他們展示預期的文件傳輸持續時間的智能方式是什麼?它不一定非得精確。如何在Python中找到預期的文件傳輸持續時間?
來計算估算的時間完成什麼,你只需要跟蹤轉移目前完成了數據所花費的時間量和基本的估計數據在過去速率休息。一旦你得到了這個基本的方法,就可以通過各種方式來調整你的估計,以考慮到加速度,擁塞和其他影響 - 例如,在過去的100秒內傳輸數據量,將其分解爲20秒的增量並計算加權平均速度。
我不熟悉Python中使用rsync。你只是使用os.exec*()
來調用它,或者你在使用類似pysync(http://freecode.com/projects/pysync)的東西嗎?如果您正在產生rsync進程,您將很難獲得細化的數據(尤其是如果傳輸大型文件)。我猜你可能會產生rsync --progress
,並以某種偷偷摸摸的方式獲取/解析進度線,但這似乎令人難以置信。
我打電話給rsync和subprocess.Popen! – pynovice
我猜測,傳輸速度的唯一指標是rsync過程完成的時間長度呢?可能沒有太多可以做的事情來改善這種情況,而不會感到尷尬(嘗試從'rsync --progress'獲取數據)或使用rsync算法的Python實現。國際海事組織,可能不值得。 –