tqdm庫教程 - 進度條可視化利器
- 1. 什么是tqdm?
- 2. tqdm的基本用法
- 3. tqdm的高級用法
- 3.1 自定義描述
- 3.2 手動更新進度條
- 3.3 在文件處理中使用tqdm
- 4. tqdm的其他特性
- 4.1 嵌套進度條
- 4.2 在Jupyter Notebook中使用
- 5. 總結
1. 什么是tqdm?
tqdm是一個Python庫,用于在循環或長時間運行的任務中添加進度條。它的名字來源于阿拉伯語"taqaddum"(?????),意為"進展"。使用tqdm,你可以輕松地為你的程序添加一個動態更新的進度條,讓你更直觀地了解程序的執行進度。
2. tqdm的基本用法
tqdm的基本用法非常簡單。你只需要將tqdm()包裹在你的可迭代對象外面即可。下面是一個簡單的例子:
from tqdm import tqdm
import timefor i in tqdm(range(100)):time.sleep(0.1)
這段代碼會顯示一個進度條,顯示從0%到100%的進度,每次迭代都會更新。
3. tqdm的高級用法
3.1 自定義描述
你可以為進度條添加自定義描述:
for i in tqdm(range(100), desc="Processing"):time.sleep(0.1)
3.2 手動更新進度條
如果你需要更精細的控制,可以手動更新進度條:
with tqdm(total=100) as pbar:for i in range(10):time.sleep(1)pbar.update(10)
3.3 在文件處理中使用tqdm
tqdm在處理大文件時特別有用。以下是一個例子:
from tqdm import tqdmwith open('large_file.txt', 'r') as file:lines = file.readlines()translated_lines = []for line in tqdm(lines, desc="Translating"):if line.strip() and not line[0].isdigit() and "-->" not in line:# 這里是翻譯邏輯translated_text = "Translated: " + line.strip()translated_lines.append(translated_text + "\n")else:translated_lines.append(line)# 將翻譯后的內容寫入新文件
with open('translated_file.txt', 'w') as file:file.writelines(translated_lines)
這個例子展示了如何在處理大文件時使用tqdm。它會顯示一個進度條,指示文件處理的進度。
4. tqdm的其他特性
4.1 嵌套進度條
tqdm支持嵌套進度條,這在處理多層循環時非常有用:
from tqdm import tqdmfor i in tqdm(range(10), desc="Outer Loop"):for j in tqdm(range(100), desc="Inner Loop", leave=False):pass
4.2 在Jupyter Notebook中使用
在Jupyter Notebook中,你可以使用tqdm_notebook來獲得更好的顯示效果:
from tqdm.notebook import tqdm as tqdm_notebookfor i in tqdm_notebook(range(100)):pass
5. 總結
tqdm是一個強大而簡單的庫,可以幫助你輕松地為你的Python程序添加進度條。無論是處理大文件、長時間運行的計算還是復雜的嵌套循環,tqdm都能幫你清晰地展示程序的執行進度。通過本文的介紹和示例,相信你已經掌握了tqdm的基本用法,可以在自己的項目中靈活運用了。