這篇文章主要介紹了Python3 requests文件下載 期間顯示文件信息和下載進(jìn)度代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
"""使用模塊線程方式實現(xiàn)網(wǎng)絡(luò)資源的下載 # 實現(xiàn)文件下載, 期間顯示文件信息&下載進(jìn)度 # 控制臺運(yùn)行以顯示進(jìn)度 """ import requests import os.path as op import os from sys import stdout def downloadfile(url, filename): """下載文件并顯示過程 :param url: 資源地址 :param filename: 保存的名字, 保存在當(dāng)前目錄 """ # print(url) filename = filename + '.' + op.splitext(url)[-1] file_to_save = op.join(os.getcwd(), filename) # print(file_to_save) with open(file_to_save, "wb") as fw: with requests.get(url, stream=True) as r: # 此時只有響應(yīng)頭被下載 # print(r.headers) print("下載文件基本信息:") print('-' * 30) print("文件名稱:", filename) print("文件類型:", r.headers["Content-Type"]) filesize = r.headers["Content-Length"] print("文件大小:", filesize, "bytes") print("下載地址:", url) print("保存路徑:", file_to_save) print('-' * 30) print("開始下載") chunk_size = 128 times = int(filesize) // chunk_size show = 1 / times show2 = 1 / times start = 1 for chunk in r.iter_content(chunk_size): fw.write(chunk) if start <= times: stdout.write(f"下載進(jìn)度: {show:.2%}\r") start += 1 show += show2 else: stdout.write("下載進(jìn)度: 100%") print("\n結(jié)束下載") if __name__ == "__main__": downloadfile("https://code.jquery.com/jquery-3.4.1.js", "a")
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
