专业的编程技术博客社区

网站首页 > 博客文章 正文

python给文件夹和文件进行zip加密压缩

baijin 2024-08-31 16:17:34 博客文章 5 ℃ 0 评论

最近需要给文档进行加密压缩,找了很多,最终敲定了当下这种方式,可以很好的解决文件和文件夹的加密压缩,之前的压缩方案,要么不支持加密,要么就是对整个文件夹加密,不能同时对文件和文件夹加密,不知道我这样描述,大家有没有听懂,不过当下的这个解决方案既满足加密需求,也满足对文件夹进行加密,也满足对文件进行加密,还满足对文件和文件夹一起加密,可以称得上是python给文件夹和文件进行zip加密压缩的最佳实现~

ailx10

网络安全优秀回答者

网络安全硕士

去咨询

首先需要安装7zip,然后指定等待压缩的文件和文件夹(我的文件.docx和我的文件夹),这里文件夹可以递归,需要注意的是,zDir 和 zDir2,可以扩展文件和文件,如果只有一个文件夹,那么只需要一个zDir 即可,然后指定压缩密码(ailx10),就可以生成加密的ZIP压缩包了。当然,如果为了准确而优雅,可以像我这样判断一下ZIP加密压缩结果是否成功~

代码运行效果

import os
import time
import subprocess

def my7zip():
    appPath=r"C:\Program Files\7-Zip"
    zApp="7z.exe"
    zAction='a'
    zPass='-pailx10'
    zAnswer='-y'
    zDir=[r"E:\tmp\我的文件夹"]
    zDir2=[r"E:\tmp\我的文件.docx"]
    zipFileName = "加密文件和文件夹_{}.zip".format(time.strftime("%Y%m%d",time.localtime()))
    progDir=os.path.join(appPath,zApp)

    cmd = [zApp, zAction, zipFileName, zPass, zAnswer, zDir,zDir2]
    res = subprocess.Popen(cmd, executable=progDir, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
    res.wait()
    result = res.stdout.read()
    print(result)

if __name__ == "__main__":
    my7zip()

本篇完,撒花~

发布于 2022-10-21 21:46

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表