python

python怎么批量压缩文件生成密码

小亿
135
2023-08-24 23:05:15
栏目: 编程语言

要批量压缩文件并生成密码,可以使用Python的zipfile库和random库。

下面是一个示例代码,用于批量压缩指定文件夹中的所有文件,并生成随机密码:

import zipfile
import random
import string
import os
def generate_password(length):
"""生成随机密码"""
characters = string.ascii_letters + string.digits + string.punctuation
return ''.join(random.choice(characters) for _ in range(length))
def compress_files(folder_path, output_path):
"""批量压缩文件并生成密码"""
with zipfile.ZipFile(output_path, 'w') as zipf:
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
zipf.write(file_path, os.path.relpath(file_path, folder_path))
password = generate_password(10)
with zipfile.ZipFile(output_path, 'a') as zipf:
zipf.setpassword(password.encode())
print(f"文件已压缩为 {output_path},生成的密码为 {password}")
# 示例用法
compress_files('/path/to/folder', '/path/to/output.zip')

这段代码首先定义了一个generate_password函数,用于生成指定长度的随机密码。然后定义了一个compress_files函数,用于批量压缩文件并生成密码。该函数接受两个参数,folder_path表示要压缩的文件夹路径,output_path表示压缩文件的输出路径。

compress_files函数中,首先使用zipfile.ZipFile创建一个空的压缩文件。然后使用os.walk遍历文件夹中的所有文件,将它们写入到压缩文件中。接下来,使用generate_password函数生成随机密码,并使用zipf.setpassword为压缩文件设置密码。

最后,打印出生成的压缩文件路径和密码。

请注意,这只是一个示例代码,你可以根据实际需求进行修改和适配。

0
看了该问题的人还看了