Skip to main content
 首页 » 编程设计

python之如何添加进度条

2025年05月04日13Terrylee

有没有办法在pytube中添加进度条?我不知道如何使用以下方法:

pytube.Stream().on_progress(chunk, file_handler, bytes_remaining) 

我的代码:

from pytube import YouTube 
# from pytube import Stream 
from general import append_to_file 
 
 
def downloader(video_link, down_dir=None): 
    try: 
        tube = YouTube(video_link) 
        title = tube.title 
        print("Now downloading,  " + str(title)) 
        video = tube.streams.filter(progressive=True, file_extension='mp4').first() 
        print('FileSize : ' + str(round(video.filesize/(1024*1024))) + 'MB') 
        # print(tube.streams.filter(progressive=True, file_extension='mp4').first()) 
        # Stream(video).on_progress() 
        if down_dir is not None: 
            video.download(down_dir) 
        else: 
            video.download() 
        print("Download complete, " + str(title)) 
        caption = tube.captions.get_by_language_code('en') 
        if caption is not None: 
            subtitle = caption.generate_srt_captions() 
            open(title + '.srt', 'w').write(subtitle) 
    except Exception as e: 
        print("ErrorDownloadVideo  |  " + str(video_link)) 
        append_to_file('debug', format(e)) 
    # FILESIZE print(tube.streams.filter(progressive=True, file_extension='mp4').first().filesize/(1024*1024)) 

请您参考如下方法:

您也可以这样做而无需编写自己的函数。

代码:

from pytube import YouTube 
from pytube.cli import on_progress #this module contains the built in progress bar.  
link=input('enter url:') 
yt=YouTube(link,on_progress_callback=on_progress) 
videos=yt.streams.first() 
videos.download() 
print("(:")