在处理大量的文件和文件夹时,压缩它们对于节省存储空间、便于管理和传输至关重要。Python 提供了强大的库,使压缩文件夹变得异常简单高效。

Python 压缩文件夹:高效且轻松的解决方案Python 压缩文件夹:高效且轻松的解决方案


使用 zipfile 库

Python 中最常用的模块之一是 zipfile,它提供了一组功能齐全的方法来处理 ZIP 归档。下面是如何使用它来压缩文件夹:

```python import zipfile

创建一个 ZIP 存档 with zipfile.ZipFile('compressed.zip', 'w') as zip: 遍历文件夹并添加文件 for root, dirs, files in os.walk('folder_to_compress'): for file in files: zip.write(os.path.join(root, file)) ```

使用 shutil 模块

shutil 是另一个有用的 Python 模块,它提供了一些方便的文件操作功能,包括压缩。使用 shutil 压缩文件夹的语法如下:

```python import shutil

shutil.make_archive('compressed', 'zip', 'folder_to_compress') ```

指定压缩级别

可以通过设置 zipfile.ZIP_DEFLATED 级别参数来指定压缩级别。值范围从 0(无压缩)到 9(最大压缩)。

压缩多个文件夹

可以使用 glob.glob() 函数一次性压缩多个文件夹。以下示例演示了如何压缩当前目录下的所有文件夹:

```python import glob import zipfile

创建一个 ZIP 存档 with zipfile.ZipFile('compressed.zip', 'w') as zip: 遍历所有文件夹并添加文件 for folder in glob.glob(''): for root, dirs, files in os.walk(folder): for file in files: zip.write(os.path.join(root, file)) ```

解压缩文件夹

解压缩 ZIP 存档同样简单。以下是使用 zipfile 模块解压缩文件夹的方法:

```python import zipfile

解压缩 ZIP 存档 with zipfile.ZipFile('compressed.zip', 'r') as zip: 提取所有文件到当前目录 zip.extractall() ```

结论