亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在python中使用urllib接收用戶想要檢索的文件的大小

如何在python中使用urllib接收用戶想要檢索的文件的大小

浮云間 2022-10-06 17:02:25
我基本上是 python 的新手,我正在使用tkinter 和 urllib.request在 python 中構建這個下載程序,它已經完成了,但作為最后一點,我想添加一個進度條來顯示下載了多少文件。我發現我可以使用TQDM添加進度條,但首先我應該得到用戶想要下載的文件的大小,以顯示程序下載了多少,但我什么也沒找到!誰能幫我嗎?我的代碼(順便說一句,如果您知道如何使我的代碼更好,我將不勝感激):from tkinter import *from tkinter import font as tkFontimport randomimport urllib.requestdef printsth():    print("Yay it works! ")def main_menu():    root = Tk()    # the top menu    num = IntVar()    var = IntVar()    menu = Menu(root)    root.config(menu=menu)    submenu = Menu(menu)    menu.add_cascade(label="File", menu=submenu)    submenu.add_command(label="New project...", command=printsth)    submenu.add_command(label="New ", command=printsth)    submenu.add_separator()    submenu.add_command(label="Exit", command=root.destroy)    # the edit menu    editmenu = Menu(menu)    menu.add_cascade(label="Edit", menu=editmenu)    editmenu.add_command(label="Redo...", command=printsth)    # the tool bar    toolbar = Frame(root, bg="light gray")    insert_button = Button(toolbar, text="Insert an image", command=printsth)    insert_button.pack(side=LEFT, padx=2, pady=2)    print_button = Button(toolbar, text="Print", command=printsth)    print_button.pack(side=LEFT, padx=2, pady=2)    toolbar.pack(side=TOP, fill=X)    # the status bar    status_bar = Label(root, text="This is only an example...", bd=1, relief=SUNKEN, anchor=W)    status_bar.pack(side=BOTTOM, fill=X)    # the download frame    def download_image():        global formatname        if num.get() == 1:            name = random.randrange(1, 10000)        else:            name = str(name_entry.get())        formatname = str(format_entry.get())        '''if var.get() == 1:            operator = str(url_entry.get())            formatname = '.' + operator[-3] + operator[-2] + operator[-1]     
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

要獲取大小,請執行以下HEAD請求:

file_size = int(requests.head('https://www.cs.cmu.edu/~./enron/enron_mail_20150507.tar.gz', headers={'accept-encoding': ''}).headers['Content-Length'])

GET請求(可能不正確):

file size = int(requests.get('https://www.cs.cmu.edu/~./enron/enron_mail_20150507.tar.gz').headers['Content-Length'])


查看完整回答
反對 回復 2022-10-06
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號