python [Python]使用密码创建zip存档文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python [Python]使用密码创建zip存档文件相关的知识,希望对你有一定的参考价值。
import os
import os.path as op
import shutil
import tempfile
import subprocess
def create_zip(files, password=None):
"""
Args:
files: e.g. [{"filename": "a.txt", "content": "hello"}, {"filename": "a/b.txt", "content": "world"}]
Example:
zdata = create_zip([{"filename": "a.txt", "content": "hello"}, {"filename": "a/b.txt", "content": "world"}], password='123')
open('/tmp/t.zip', 'w').write(zdata)
"""
temp_dir = tempfile.mkdtemp()
for spec in files:
filename = op.join(temp_dir, spec['filename'])
dirname = op.dirname(filename)
if not op.exists(dirname):
os.makedirs(dirname)
open(filename, 'wb').write(spec['content'])
ar_path = op.join(temp_dir, 'ar.zip')
cmd = [
'7z', 'a', '-y', ar_path, temp_dir + '/*'
]
if password is not None:
cmd.append('-p' + password)
subprocess.call(cmd)
zdata = open(ar_path).read()
shutil.rmtree(temp_dir)
return zdata
以上是关于python [Python]使用密码创建zip存档文件的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 python zipfile 库解压缩带有密码的 .zip 文件
Python - 密码保护 Zip 文件夹
Python 破解带密码保护的Zip文件
Zip文件破解器python 3只会在文本文件末尾使用密码
怎么从zip里提取文件 Python
Python基础练习三超市存包柜模拟(优化)