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 编辑

目录
相关文章
|
缓存 NoSQL 算法
Redis(十三)-Redis的配置文件详解
本文将详细介绍Redis的配置文件。redis.conf 文件是Redis中最重要的一个文件,其属性配置会直接影响到Redis。本文主要介绍一些常用的配置。后面的文章会详细介绍某些重点配置。
434 0
|
10月前
|
Dart 前端开发 IDE
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
本文介绍了如何将现有 Flutter 项目适配鸿蒙系统,详细步骤包括安装 FVM、使用 FVM 安装 Flutter SDK、搭建开发环境、创建项目架构和壳工程等。
855 7
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
|
9月前
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
360 10
|
NoSQL 前端开发 Redis
Windows 下安装和配置 Redis (图文教程)
Windows 下安装和配置 Redis (图文教程)
|
存储 关系型数据库 MySQL
MySQL 中单表数据的最大行数应该控制在多少?
MySQL 中单表数据的最大行数应该控制在多少?
3035 1
MySQL 中单表数据的最大行数应该控制在多少?
|
开发框架 安全 .NET
Web安全-文件上传漏洞与WAF绕过
Web安全-文件上传漏洞与WAF绕过
736 4
|
安全 Linux 网络安全
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
117822 0
|
数据采集 缓存 安全
http proxy 协议的工作原理与常见用途
在这篇博客文章中,我们将深入探讨HTTP代理协议的工作原理,揭示它如何在客户端和服务器之间传递HTTP请求和响应,并讨论它在各种应用场景中的常见用途。
http proxy 协议的工作原理与常见用途
|
搜索推荐 数据库连接 数据库
手把手教你使用Flask搭建ES搜索引擎(实战篇)
手把手教你使用Flask搭建ES搜索引擎(实战篇)
450 0
手把手教你使用Flask搭建ES搜索引擎(实战篇)
|
存储 数据处理 Python
使用openpyxl库从Excel文件中提取指定的数据并生成新的文件
使用openpyxl库从Excel文件中提取指定的数据并生成新的文件
789 0