python 分别使用zip和7z格式,带密码压缩文件夹

python 分别使用zip和7z格式,带密码压缩文件夹

zip格式压缩

1
2
3
4
5
6
7
import pyzipper

    with pyzipper.AESZipFile(dest+'.zip', "w", encryption=pyzipper.WZ_AES) as zf:
        zf.setpassword(b"password")
        for file in os.listdir(dest):
            fullfile = os.path.join(dest,file)
            zf.write(fullfile, file)
  • import pyzipper vs import zipfile
    pyzipper和zipfileapi基本一致
    zipfile只支持解压缩时使用密码,不支持创建带密码的压缩包, pyzipper支持创建带密码的压缩包

  • zf.write(path1, path2)
    path1: 要压缩的文件的路径
    path2: 压缩后在zip文件里的路径

  • pyzipper.AESZipFile

  • 密码设置 encryption=pyzipper.WZ_AES AES密码 zf.setpassword(b"password") 设置密码

7z格式压缩

1
2
3
4
import py7zr

    with py7zr.SevenZipFile(dest + '.7z', 'w', password='password') as archive:
        archive.writeall(dest, '')
  • archive.writeall(path1, path2)
    path1 要压缩的文件的路径,可以是整个目录
    path2 压缩后在7z文件里的路径, ‘‘表示是根目录

  • 设置密码
    password=‘password’

记录并分享
Built with Hugo
主题 StackJimmy 设计