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)
在搜索progressbar的代码并模拟
FileTransferSpeed
类之后,我提出了一个解决方案,您可以在代码中而不是FileTransferSpeed()
请注意,这将使用单位千秒、兆秒等,而不是分钟和天>;<;。你知道吗
相关问题 更多 >
编程相关推荐