繁体   English   中英

在 Python 中使用密码创建 ZipFile

[英]Create ZipFile with Password in Python

我有一个这样的文件夹结构:

MainFolder
    |
   project.xml 
   SubFolder 1
      |
      Files
        |  
        wallpaper.png
        imp.docx
        pdf_1.pdf
    SubFolder 2
        |
        CategoryFolder
          |  
          Files
             |
             something.txt 

所以上面是我的文件夹结构。 我必须使用密码为“MainFolder”创建一个 zipFile,并且 zipFile 应该包含我上面显示的所有文件和文件夹。 我能够在没有密码的情况下创建 zipFile,但要求是带有密码的 zipFile。 那我怎么能做到这一点。 请帮忙

根据文档,python zip 库仅使用密码来提取 zip 文件(而不是用于创建它们):

pwd 是用于解密加密的 ZIP 文件的密码。

还有一些其他软件包声称允许这样做。 这是一段将所有文件压缩到名为“main”的文件夹中的代码:

from pathlib import Path
import pyminizip

# replace 'main' is your main folder. 
files = [f for f in Path("main").rglob("*") if f.is_file()]

paths = [str(f.parent) for f in files]
file_names = [str(f) for f in files]

# 123456 is the password. 3 is the compression level. 
pyminizip.compress_multiple(file_names, paths, "my.zip", "123456", 3)

另一种解决方案是调用zip实用程序作为使用system的单独进程,或者最好是Popen

您可以将某些软件包视为 pyzipper。 根据文档,这是

修改 Python 的 zipfile 以读写 AES 加密的 zip 文件。

资源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM