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
Theme Stack designed by Jimmy