欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > python zipfile

python zipfile

2025/2/26 11:58:52 来源:https://blog.csdn.net/m0_68739984/article/details/145862525  浏览:    关键词:python zipfile

在压缩文件时打印进度,通常可以通过计算文件的大小和已经处理的文件数来实现。为了实现一个简单的进度条,我们可以使用 tqdm 库来帮助我们显示进度。

安装 tqdm

首先,你需要安装 tqdm 库。如果还没有安装,可以通过以下命令来安装:

 

bash

pip install tqdm

示例代码:打印压缩进度

下面的代码展示了如何使用 tqdm 来显示文件压缩进度:

 

python

import zipfile
import os
from tqdm import tqdmdef zip_folder_with_progress(folder_path, zip_file_path):# 获取文件夹内所有文件的路径all_files = []for root, dirs, files in os.walk(folder_path):for file in files:all_files.append(os.path.join(root, file))# 创建 zip 文件并添加文件with zipfile.ZipFile(zip_file_path, 'w', zipfile.ZIP_DEFLATED) as zip_ref:# 使用 tqdm 显示进度条for file_path in tqdm(all_files, desc="压缩中", unit="file"):# 添加文件到压缩包zip_ref.write(file_path, arcname=os.path.relpath(file_path, folder_path))print(f"文件夹已压缩为 {zip_file_path}")# 压缩文件夹并显示进度
folder_to_zip = 'my_folder'  # 替换成你要压缩的文件夹路径
zip_file_path = 'compressed_folder_with_progress.zip'  # 压缩后的目标文件路径
zip_folder_with_progress(folder_to_zip, zip_file_path)

python

代码说明:

  1. 获取文件列表:首先,我们用 os.walk() 遍历文件夹,获取所有文件的路径。
  2. tqdm 进度条:使用 tqdm 来包裹 all_files 列表,它会自动计算并显示压缩的进度。desc="压缩中" 显示进度条前的描述信息,unit="file" 表示进度单位是每个文件。
  3. arcname:我们使用 arcname 来确保压缩包内的文件结构与原始文件夹一致。

示例输出:

当你运行代码时,命令行会显示类似下面的进度条:

压缩中: 100%|██████████| 10/10 [00:00<00:00, 1234.56file/s]
文件夹已压缩为 compressed_folder_with_progress.zip

提示:

  • tqdm 会自动计算压缩进度,显示速度和已处理的文件数。
  • 如果你有很多小文件,进度条会比较顺利;如果文件非常大,进度更新可能会稍慢。

如果有任何问题或需要其他功能,随时告诉我!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词