在pytube中添加进度条

时间:2019-07-27 10:25:04

标签: python progress-bar pytube

我可以使用Zubo的答案通过1添加进度条。但是,我只想显示10的倍数(10%,20%,30%.... 100%),所以我添加了if语句

但是,当我运行代码时,结果是打印10的倍数。我如何编码,使其仅打印一次?

def progress_function(stream, chunk, file_handle, bytes_remaining):
    percent = round((1-bytes_remaining/video.filesize)*100)
    if( percent%10 == 0):
        print(percent, '% done...')

另一个问题是Ismael GraHms的答案,他在方法参数中添加了selfdef progress_function(self,stream, chunk,file_handle, bytes_remaining):但是,当我运行他的代码时,它显示了错误progress_function() missing 1 required positional argument: 'bytes_remaining'。我不太明白为什么他的代码没有运行。

0%完成了...
完成了0%...
完成了0%...
完成了0%...
完成了0%...
完成了0%...
完成了0%...
完成了0%...
完成了0%...
完成了0%...
完成了0%...
完成了10%...
完成了10%...
完成了10%...
完成了10%...
完成了10%...
完成了10%...
完成了10%...
完成了10%...

省略了空间问题,但持续进行20%,30%...

完成100%...
完成100%...
完成100%...
完成100%...
完成100%...
完成100%...
完成100%...
完成100%...
完成100%...
完成100%...
完成100%...
完成100%...
完成100%...

1 个答案:

答案 0 :(得分:1)

快速修复是这样的:

progress = 0
if(progress <= round((1-bytes_remaining/video.filesize)*100)):
    print(progress, '% done...')
    progress += 10