通过对进度代码搜索和仿效FileTransferSpeed
下课后,这里是我想出了一个解决方案,你可以在你的代码扑通的FileTransferSpeed()
class InvFileTransferSpeed(Widget):
'Widget for showing the transfer speed (useful for file transfers).'
format = '%6.2f %ss/%s'
prefixes = ' kMGTPEZY'
__slots__ = ('unit', 'format')
def __init__(self, unit='loop'):
self.unit = unit
def update(self, pbar):
'Updates the widget with the current SI prefixed speed.'
if pbar.seconds_elapsed < 2e-10 or pbar.currval < 2e-10: # =~ 0
scaled = power = 0
else:
speed = pbar.seconds_elapsed/pbar.currval
power = int(math.log(speed, 1000))
scaled = speed/1000.**power
return self.format % (scaled, self.prefixes[power], self.unit)
注意代替,这将使用单位千分之一,兆字节等,而不是分钟和天数>。 <。