我正在使用pyminizip
压缩文件并用密码保护文件。一切正常,但我无法理解文件的解压缩。我阅读了图书馆的自述文件,但令人困惑,解压缩对我没有帮助。这是我的代码。
压缩
pyminizip.compress("src_file", None, "dest.zip", "password", 5)
解压缩
pyminizip.uncompress("file.zip", "password", "dest_path", int(withoutpath))
错误
SystemError: <built-in function uncompress> returned a result with an error set
我不知道什么是int(withoutpath)
中的第四个参数uncompress()
。
官方文档说
pyminizip.compress("/srcfile/path.txt", "file_path_prefix", "/distfile/path.zip", "password", int(compress_level))
Args:
1. src file path (string)
2. src file prefix path (string) or None (path to prepend to file)
3. dst file path (string)
4. password (string) or None (to create no-password zip)
5. compress_level(int) between 1 to 9, 1 (more fast) <---> 9 (more compress) or 0 (default)
Return value:
- always returns None
pyminizip.compress_multiple([u'pyminizip.so', 'file2.txt'], [u'/path_for_file1', u'/path_for_file2'], "file.zip", "1233", 4, progress)
Args:
1. src file LIST path (list)
2. src file LIST prefix path (list) or []
3. dst file path (string)
4. password (string) or None (to create no-password zip)
5. compress_level(int) between 1 to 9, 1 (more fast) <---> 9 (more compress)
6. optional function to be called during processing which takes one argument, the count of how many files have been compressed
Return value:
- always returns None
pyminizip.uncompress("/srcfile/path.zip", "password", "/dirtoextract", int(withoutpath))
1. src file path (string)
2. password (string) or None (to unzip encrypted archives)
3. dir path to extract files or None (to extract in a specific dir or cwd)
4. withoutpath (exclude path of extracted)
Return value:
- always returns None
请帮助我。第四个论点确实使我烦恼,我无法在其他任何地方找到帮助。谢谢。
答案 0 :(得分:0)
import pyminizip
pyminizip.compress("src_file", None, "dest.zip", "password", 5)
pyminizip.uncompress("file.zip", "password", "dest_path", 0)
//代码https://github.com/smihica/pyminizip/blob/master/src/py_miniunz.c#L227
if ((*popt_extract_without_path)==0)
write_filename = filename_inzip;
else
write_filename = filename_withoutpath;