我使用rsync在Python中使用rsync
传输文件。我有基本的用户界面,用户可以选择文件并启动传输。我想显示预期的时间持续时间来传输他们选择的所有文件。我知道所有文件的总大小(以字节为单位)。什么是向他们展示预期文件传输持续时间的聪明方法?它并不一定非常精确。
答案 0 :(得分:1)
要计算任何事情的估计完成时间,您只需跟踪传输当前已完成数据所需的时间量,并根据过去的速度确定其余数据的估算值。一旦你得到了这个基本方法,有各种各样的方法可以调整你的估计,以考虑加速度,拥塞和其他影响 - 例如,采取在过去100秒内传输的数据量,将其分解为20秒增量并计算加权平均速度。
我不熟悉在Python中使用rsync。您是使用os.exec*()
调用它还是使用pysync(http://freecode.com/projects/pysync)之类的东西?如果您正在生成rsync进程,那么您将很难获得精细数据(特别是如果传输大型文件)。我想你可以产生rsync --progress
并以偷偷摸摸的方式获取/解析进度线,但这看起来非常尴尬。