tqdm复制文件显示进度
时间: 2024-07-11 22:01:02 浏览: 89
`tqdm`是一个用于Python的开源库,它提供了进度条和活动指示器的功能,非常适合于长时间运行的任务,例如文件复制。当你使用`tqdm`复制文件时,它会实时更新一个进度条,显示出正在处理的文件块数量以及剩余的时间估计,让你能够清晰地看到任务的进度。
要在Python中使用`tqdm`复制文件并显示进度,你可以这样做:
```python
from tqdm import tqdm
import shutil
# 源文件路径
src = 'source_file.txt'
# 目标文件路径
dst = 'destination_file.txt'
# 使用with语句创建一个进度条上下文管理器
with tqdm(
total=len(open(src, 'rb').read()), # 设置总文件大小为源文件字节数
unit='B', # 单位为字节
unit_scale=True, # 自动转换合适的单位(如KB、MB等)
desc='Copying', # 进度条描述文本
) as pbar:
with open(src, 'rb') as src_file, open(dst, 'wb') as dst_file:
shutil.copyfileobj(src_file, dst_file, length=1024*1024) # 分块复制,每1MB更新一次进度
pbar.update(1) # 复制完成后更新进度到100%
# 如果你想在每个数据块后都更新进度,将最后一行替换为:
# for chunk in iter(lambda: src_file.read(1024*1024), b''): # 读取1MB块直到文件结束
# dst_file.write(chunk)
# pbar.update(len(chunk))
```
这样,你就有了一个友好的用户界面,可以看到文件复制的实时进度。如果你有任何疑问或想要了解更多关于`tqdm`的用法,请随时提问。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)