这是一个使用tqdm
库创建进度条的代码。其中,file_spec['file_size']
表示文件的总大小(以字节为单位),unit='B'
表示进度条的单位是字节,unit_scale=True
表示进度条的大小会根据文件大小自动调整。
from tqdm import tqdm
import time
file_spec = {'file_size': 100}
progress_bar = tqdm(total=file_spec['file_size'], unit='B', unit_scale=True)
for i in range(file_spec['file_size']):
# 模拟了文件下载或处理的过程,每次循环暂停0.1秒
time.sleep(0.1)
# 更新进度条的长度,每次增加1个单位
progress_bar.update(1)
# 进度条关闭
progress_bar.close()
输出:
实例1:
from time import sleep
import requests
from tqdm import tqdm
file_spec = {
'file_size': 10000000, # 假设文件大小为10MB
'file_url': 'https://example.com/file.zip'
}
# 创建进度条
progress_bar = tqdm(total=file_spec['file_size'], unit='B', unit_scale=True)
# 发起文件下载请求
response = requests.get(file_spec['file_url'], stream=True)
# 已下载字节数
downloaded_bytes = 0
# 处理下载的数据块并更新进度条
for chunk in response.iter_content(chunk_size=1024): # 以1KB为单位处理数据块
# 这里可以添加处理数据块的代码
# ...
# 更新已下载字节数
downloaded_bytes += len(chunk)
# 更新进度条
progress_bar.update(len(chunk))
# 关闭进度条
progress_bar.close()
# 输出下载完成信息
print(f"文件下载完成!总大小: {file_spec['file_size']} 字节")