【发布时间】:2023-03-15 09:24:01
【问题描述】:
我的python版本是3.5,在Windows 10环境下通过Anaconda。我正在使用Pyminizip,因为我的 zip 文件需要密码保护,而Zipfile 尚不支持。
我可以通过函数pyminizip.compress 压缩单个文件,并且加密函数按预期工作。但是,在尝试使用pyminizip.compress_multiple 时,我总是遇到 Python 崩溃(如图),我认为这是由于我的输入格式错误造成的。
我想知道的是:输入参数src file LIST path 的可接受格式是什么?来自 Pyminizip 的文档:
pyminizip.compress_multiple([u'pyminizip.so', 'file2.txt'], "file.zip", "1233", 4, 进度)
参数:
1.src文件LIST路径(列表)
2.dst文件路径(字符串)
3. 密码(字符串)或无(创建无密码 zip)
4. compress_level(int) 1到9之间,1(更快速) 9(更压缩)
似乎第一个参数src file LIST path 应该是一个包含所有需要压缩的文件的列表。因此,我尝试使用compress_multiple 通过命令压缩单个文件:
pyminizip.compress_multiple(['Filename.txt'], 'output.zip', 'password', 4, optional)
这会导致 Python 崩溃。所以我尝试在 args 中添加完整路径。
pyminizip.compress_multiple( [os.getcwd(), 'Filename.txt'], ... )
但是,它又崩溃了。所以我想也许我必须像这样分开路径
path = os.getcwd().split(os.sep)
pyminizip.compress_multiple([path, 'Filename.txt'], ...)
还是运气不好。有任何想法吗?
【问题讨论】:
-
好像不是输入格式的问题,而是潜在的bug...github.com/smihica/pyminizip/issues/5
标签: python-3.x zipfile