最近须要给文档进行加密压缩,找了很多,终极敲定了当下这种办法,可以很好的办理文件和文件夹的加密压缩,之前的压缩方案,要么不支持加密,要么便是对全体文件夹加密,不能同时对文件和文件夹加密,不知道我这样描述,大家有没有听懂,不过当下的这个办理方案既知足加密需求,也知足对文件夹进行加密,也知足对文件进行加密,还知足对文件和文件夹一起加密,可以称得上是python给文件夹和文件进行zip加密压缩的最佳实现~
ailx10
网络安全精良回答者

网络安全硕士
去咨询
首先须要安装7zip,然后指按期待压缩的文件和文件夹(我的文件.docx和我的文件夹),这里文件夹可以递归,须要把稳的是,zDir 和 zDir2,可以扩展文件和文件,如果只有一个文件夹,那么只须要一个zDir 即可,然后指定压缩密码(ailx10),就可以天生加密的ZIP压缩包了。当然,如果为了准确而优雅,可以像我这样判断一下ZIP加密压缩结果是否成功~
代码运行效果
import osimport timeimport subprocessdef 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