📜  python zip 文件夹 - Python (1)

📅  最后修改于: 2023-12-03 15:19:02.786000             🧑  作者: Mango

Python压缩与解压缩

在程序开发中,我们经常需要压缩和解压缩文件,以方便文件的传输和存储。Python提供了多个标准库可以用于实现压缩和解压缩的功能。

zip压缩与解压缩

zip是一种常见的压缩格式,Python标准库中的zipfile模块可以用于对zip文件进行操作。

压缩文件夹
import zipfile

def zip_folder(folder_path, output_path):
    """
    将指定文件夹压缩为zip文件
    :param folder_path: 待压缩文件夹路径
    :param output_path: 压缩后zip文件路径
    """
    with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zip_file:
        for foldername, subfolders, filenames in os.walk(folder_path):
            for filename in filenames:
                file_path = os.path.join(foldername, filename)
                zip_file.write(file_path, os.path.relpath(file_path, folder_path))

使用os.walk遍历整个文件夹,将文件夹中的所有文件逐一添加到zip文件中。os.path.relpath用于获取相对路径,以保证解压后文件路径的正确性。

解压zip文件
import zipfile

def unzip_file(zip_file_path, extract_path):
    """
    解压zip文件到指定目录
    :param zip_file_path: 待解压zip文件路径
    :param extract_path: 解压后文件夹路径
    """
    with zipfile.ZipFile(zip_file_path, 'r') as zip_file:
        zip_file.extractall(extract_path)

使用zipfile.ZipFile打开zip文件,调用extractall方法解压缩所有文件到指定目录。

总结

Python提供了简便的方法来进行文件的压缩与解压缩。zipfile模块可用于处理zip格式文件,使开发者可以轻松处理zip文件的压缩与解压缩。