提问者:小点点

Pytube怎么添加进度条?


我不知道该怎么做,每当我尝试从其他话题中解决这个问题时,我就会出错。 主要是“typeerror:show_progress_bar()缺少一个必需的位置参数:'bytes_retain'”。

from pytube import YouTube

#took this def from another topic
def progress_function(stream, chunk, file_handle, bytes_remaining):
    percent = round((1-bytes_remaining/video.filesize)*100)

    if( percent%10 == 0):
        print(percent, 'done...')



url = "Any youtube url"

yt = YouTube(url, on_progress_callback=progress_function)

yt.streams[0].download()

例如,当我运行这段代码时,它会给我这个错误。

我实在无法理解它的逻辑。 我也搜索了pytube3网站的文档,但我无法解决这个问题。 请帮帮我。 谢了。


共1个答案

匿名用户

删除然后它就会工作,最近我试图开发类似的逻辑,遇到类似的错误,

下面是对我有效的代码,

def progress( chunk, file_handle, bytes_remaining):
    global filesize
    remaining=(100*(bytes_remaining))/filesize
    step=100-int(remaining)
    print("Completed:",step)#show the percentage of completed download 

一旦选择要下载的视频或音频(如

yt = YouTube(str(link)) #yt = YouTube(str(link),on_progress_callback=progress)  to implement on_progress_callback
yt1=yt.streams.get_by_itag(int(itag)) #itag is given when you list all the strams of a youtube video
filesize=yt1.filesize

希望这有用!