亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用tqdm在Python應用中顯示進度

發布時間:2021-10-20 16:13:03 來源:億速云 閱讀:220 作者:iii 欄目:編程語言

本篇內容主要講解“如何使用tqdm在Python應用中顯示進度”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用tqdm在Python應用中顯示進度”吧!

阿拉米語,希伯來語和阿拉伯語中的閃米特語根 q-d-m 通常與前進或進度有關。阿拉伯語 taqaddum  (?????)的意思是“進度”。進度是很重要的。正如每部感覺良好的電影都會告訴你,旅程和目的地同樣重要。

如何使用tqdm在Python應用中顯示進度

大多數程序都有一個明確的目標,一個期望的最終狀態。有時,計算這個最終狀態可能需要很長的時間。雖然計算機沒有感情不在乎,但人卻在乎。人類并不樂意坐在原地等待,而看不到任何明顯的進展跡象。疑問不斷蔓延。程序崩潰了嗎?磁盤性能是否抖動?操作系統是否把所有的計算資源都分配給了其他任務?

就像正義一樣,進度必須被看到,而不僅僅是完成。Python 庫 tqdm 有助于使進度變得明確。

tqdm 模塊可在控制臺下工作,但它也專門支持了我最喜歡的環境之一 Jupyter。要在 Jupyter 中使用 tqdm,你需要導入 notebook  子模塊并安裝 ipywidgets 。notebook 子模塊與 tqdm 接口兼容。

這意味著你可以做一些導入時操作來導入正確的模塊,同時保持 tqdm 的用法不變。訣竅是檢查 __main__ 模塊是否具有全局變量  get_ipython。雖然這只是一個啟發式的方法,但卻是一個相當準確的方法:

import sys if hasattr(sys.modules["__main__"], "get_ipython"):     from tqdm import notebook as tqdm else:     import tqdm

最簡單的情況是,某件事情需要運行一定的迭代次數(事先已知),而每一次迭代的時間都差不多。例如,有一個計算任何數字的平方根的算法,通過從 1  作為猜測值開始,然后計算出一個改進后的猜測值:

def improve_guess(rt, n):     return (rt + n/rt) / 2

一點點的改進可以讓你更加接近該平方根。例如,你可以計算 2 的平方根:

guess = 1 target = 2 for i in tqdm.trange(10):     guess = improve_guess(guess, target)
如何使用tqdm在Python應用中顯示進度

精確了到小數點后 10 位!

round(2 - guess*guess, 10)
0.0

一個稍微復雜一點的例子是,當元素的數量是已知的,而處理每個元素需要類似的時間。例如,你可以計算一些數字的乘積。為此,你需要一些隨機數:

import random numbers = [random.uniform(0, 2.8) for i in range(100)] numbers[:5]
[2.6575636572230916, 0.1286674965830302, 1.0634250104041332, 1.1760969844376505, 0.45192978568125486]

現在有了這些數字,可以將它們相乘了。使用 tqdm 最簡單的方法是包裝一個 Python 迭代函數。數值是一樣的,但是 tqdm  會顯示一個進度條:

result = 1 for num in tqdm.tqdm(numbers):     result *= num result
2.4081854901728303

如何使用tqdm在Python應用中顯示進度

tqdm output

然而,并不是所有的事情都可以預測。最不容易預測的事情之一就是網絡速度。當你下載一個大文件時,衡量進度的唯一方法就是檢查已經下載了多少:

url = "https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz" import httpx with httpx.stream("GET", url) as response:     total = int(response.headers["Content-Length"])     with tqdm.tqdm(totaltotal=total) as progress:         for chunk in response.iter_bytes():             progress.update(len(chunk))

如何使用tqdm在Python應用中顯示進度

tqdm output

有時,“嵌套”進度條是有意義的。例如,如果你要下載一個目錄,你就需要一個進度條來跟蹤文件,并為每個文件設置一個進度條。

下面是一個例子(但沒有實際下載一個目錄):

files = [f"vid-{i}.mp4" for i in range(4)] for fname in tqdm.tqdm(files, desc="files"):     total = random.randrange(10**9, 2 * 10**9)     with tqdm.tqdm(totaltotal=total, desc=fname) as progress:         current = 0         while current < total:             chunk_size = min(random.randrange(10**3, 10**5), total - current)             current += chunk_size             if random.uniform(0, 1) < 0.01:                 time.sleep(0.1)             progress.update(chunk_size)

如何使用tqdm在Python應用中顯示進度

tqdm output

所以,如果你的程序需要一段時間才能顯示最終結果,為避免讓你的用戶感到沮喪。請顯示它的進度!

到此,相信大家對“如何使用tqdm在Python應用中顯示進度”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商河县| 广平县| 武夷山市| 汾西县| 奉化市| 榕江县| 罗山县| 泸溪县| 和政县| 汝阳县| 华阴市| 安远县| 巴青县| 莆田市| 江达县| 肇州县| 桐梓县| 河津市| 田林县| 仙桃市| 德庆县| 海兴县| 潮安县| 沙雅县| 达日县| 霍城县| 延庆县| 进贤县| 敦化市| 通榆县| 星子县| 嘉峪关市| 三亚市| 博白县| 大荔县| 电白县| 巴彦县| 勐海县| 根河市| 开阳县| 苗栗市|