Decompressing 7z archive using py7zlib gives *** V

2019-08-10 07:00发布

问题:

My code is as follows (from here: Example of how to use PyLZMA)

import py7zlib
...
#filename.__class__ is <class 'django.core.files.uploadedfile.InMemoryUploadedFile'>
archive = py7zlib.Archive7z(filename)
data = archive.getmember(archive.getnames()[0]).read()

The error that I get is:

*** ValueError: data error during decompression

The archive I am testing with is a driver compressed in 7z downloaded from the manufacturer's website. I have also used 7zip to create a 7z archive to test with, but I get the same result.

回答1:

I suggest you open your file first, then use 'py7zlib' package. I have used this method to read the file successfully.

content=open(filename,"rb")
archive = py7zlib.Archive7z(content)
data = archive.getmember(archive.getnames()[0]).read()