Pyzipper解压文件和压缩文件夹方法

简介: Pyzipper解压文件和压缩文件夹方法

 Pyzipper解压文件和压缩文件夹方法

要使用Python的pyzipper库来压缩文件夹并添加密码,你可以按照以下步骤进行:

首先,确保你已经安装了pyzipper库。你可以使用pip进行安装:

pip install pyzipper

image.gif

Pyzipper解压文件和压缩文件夹方法如下:

import os
import pyzipper
class ZipTools:
    @staticmethod
    def extract_zip(zip_file, extract_folder, password):
        with pyzipper.AESZipFile(zip_file) as z:
            try:
                z.extractall(extract_folder, pwd=password.encode('utf-8'))
                print(f"Successfully extracted {zip_file} to {extract_folder}")
            except Exception as e:
                print(f"Extraction failed: {e}")
    @staticmethod
    def zip_folder(folder_path, zip_path, password):
        with pyzipper.AESZipFile(zip_path, 'w', compression=pyzipper.ZIP_DEFLATED, encryption=pyzipper.WZ_AES) as zf:
            # 将密码转换为字节类型
            password_bytes = password.encode('utf-8')
            zf.setpassword(password_bytes)
            for root, dirs, files in os.walk(folder_path):
                for file in files:
                    abs_path = os.path.join(root, file)
                    rel_path = os.path.relpath(abs_path, os.path.dirname(folder_path))
                    zf.write(abs_path, rel_path)
if __name__ == "__main__":
    folder_to_zip = 'D:\App\Log'
    zip_file_path = 'D:\App\Log.zip'
    password = '123123'
    ZipTools.zip_folder(folder_to_zip, zip_file_path, password)

image.gif image.gif 编辑

目录
相关文章
|
20天前
|
算法 Linux
Linux指令|压缩文件|zip|tar
Linux指令|压缩文件|zip|tar
|
5月前
|
算法 编译器 API
C++ MiniZip实现目录压缩与解压
Zlib是一个开源的数据压缩库,提供了一种通用的数据压缩和解压缩算法。它最初由`Jean-Loup Gailly`和`Mark Adler`开发,旨在成为一个高效、轻量级的压缩库,其被广泛应用于许多领域,包括网络通信、文件压缩、数据库系统等。其压缩算法是基于`DEFLATE`算法,这是一种无损数据压缩算法,通常能够提供相当高的压缩比。在Zlib项目中的`contrib`目录下有一个`minizip`子项目,minizip实际上不是`zlib`库的一部分,而是一个独立的开源库,用于处理ZIP压缩文件格式。它提供了对ZIP文件的创建和解压的简单接口。minizip在很多情况下与`zlib`一起使用
144 0
C++ MiniZip实现目录压缩与解压
|
7月前
|
C#
复制文件夹需要考虑的问题
复制文件夹需要考虑的问题
|
Linux
解压 .solitairetheme8 文件
解压 .solitairetheme8 文件
75 0
|
Java
不解压修改压缩文件内容
在java中,可以不解压压缩包就修改压缩包中文件的内容。
347 0
不解压修改压缩文件内容
C#编程-116:获取指定目录下的所有文件及文件夹
C#编程-116:获取指定目录下的所有文件及文件夹
522 0
|
程序员 C#
C# 压缩文件
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。    十年河东十年河西,莫欺少年穷。     学无止境,精益求精    上一节讲述了C# WebApi传参之Post请求-AJAX    本节探讨C#压缩文件的方法,直接上代码    如下 pub...
1210 0