python压缩文件进度
时间: 2023-11-20 19:55:49 浏览: 176
以下是使用Python进行文件压缩并显示进度的示例代码:
```python
import os
import shutil
import zipfile
from tqdm import tqdm
def zip_dir(src_dir, dst_dir, zip_name):
"""
将指定目录下的文件压缩成zip格式,并显示压缩进度
:param src_dir: 需要压缩的目录
:param dst_dir: 压缩后的文件存放目录
:param zip_name: 压缩后的文件名
"""
abs_src = os.path.abspath(src_dir)
abs_dst = os.path.abspath(dst_dir)
zip_path = os.path.join(abs_dst, zip_name)
zipf = zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(src_dir):
for file in tqdm(files):
abs_path = os.path.abspath(os.path.join(root, file))
arc_path = abs_path[len(abs_src) + 1:]
zipf.write(abs_path, arc_path)
zipf.close()
# 示例
src_dir = r'D:\save'
dst_dir = r'D:\hello'
zip_name = 'world.zip'
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
zip_dir(src_dir, dst_dir, zip_name)
```
在上述代码中,我们使用了tqdm库来显示压缩进度。tqdm是一个快速,可扩展的Python进度条库,可以在循环中轻松地添加进度条。我们使用os.walk()函数遍历指定目录下的所有文件,然后使用zipfile.ZipFile()函数将文件压缩成zip格式。在压缩过程中,我们使用tqdm库来显示进度条。