0

我能够使用 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 的回答,他self在方法参数中添加。def 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% 完成...

4

1 回答 1

1

快速修复是这样的:

progress = 0
if(progress <= round((1-bytes_remaining/video.filesize)*100)):
    print(progress, '% done...')
    progress += 10
于 2019-08-07T10:11:38.137 回答