Python3實現文件下載,顯示下載進度


Python3實現文件下載,顯示下載進度

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#   實現文件下載,顯示下載進度

import requests

def download_file(url, save_path=""):
    if save_path == "":
        save_path = url.split('/')[-1]
    with requests.get(url, stream=True) as fget:
        # 此時只有響應頭被下載
        file_size = int(fget.headers["Content-Length"])
        print('-' * 32)
        print(f"Name: {save_path}")
        print(f"Size: {file_size/(1000**2)}Mb")
        print(f"Link: {url}")
        print('-' * 32)
        chunk_size = 512
        file_done = 0
        with open(save_path, "wb") as fw:
            for chunk in fget.iter_content(chunk_size):
                fw.write(chunk)
                file_done = file_done + chunk_size
                percent = file_done / file_size
                if file_done <= file_size:
                    print(f"Download: {percent:.2%}", end='\r')
                else:
                    print("Download: 100%  ")


if __name__ == "__main__":
    download_file("https://www.baidu.com/img/flexible/logo/pc/result.png")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM