Python自带的zipfile库不支持加密。
另辟蹊径,使用压缩工具的命令行对压缩包进行压缩。
在这里使用 7zip 工具的命令行。
#使用命令,压缩、加密单个文件
def makezip(file, zipfile, pw):
loc_7z = r"D:\tools\7zip\7-Zip\7z.exe"#7zip开源压缩工具的可执行文件路径
archive_command_str = loc_7z + " a " + zipfile + " -p" + pw + " " + file.__str__()#编辑命令行
print(archive_command_str)
os.system(archive_command_str)
#使用命令,压缩多个文件
def makezip_unps(zipfile, *files):
loc_7z = r"D:\tools\7zip\7-Zip\7z.exe"
archive_command_str = loc_7z + " a " + zipfile
for file in files:
archive_command_str += " " + file.__str__()
print(archive_command_str)
os.system(archive_command_str)