8000 Can't decompress the lzma1900.7z file using py7zlib.Archive7z · Issue #65 · fancycode/pylzma · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Can't decompress the lzma1900.7z file using py7zlib.Archive7z #65
Open
@funcman

Description

@funcman

This is my code:

import sys

if (sys.version_info > (3, 0)):
    import urllib.request as urllib
else:
    import urllib2 as urllib

import os
import py7zlib

def download(url, output):
    data = urllib.urlopen(url)
    with open(output, "wb") as f:
        f.write(data.read())

def check_dir(dir):
    if (os.path.isdir(dir)):
        pass
    else:
        os.makedirs(dir)

def dec_7z(file_name, output):
    with open(file_name, 'rb') as f:
        archive = py7zlib.Archive7z(f)
        for name in archive.getnames():
            print(name)
            outfilename = os.path.join(output, name)
            outdir = os.path.dirname(outfilename)
            check_dir(outdir)
            with open(outfilename, 'wb') as outfile:
                outfile.write(archive.getmember(name).read())

url = "https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/lzma1900.7z/download"
file_name = "lzma1900.7z"

download(url, file_name)
dec_7z(file_name, "7z")

Run it, but get this:

...
Java/SevenZip/Compression/RangeCoder/Decoder.java
Java/SevenZip/Compression/RangeCoder/Encoder.java
Java/SevenZip/CRC.java
Java/SevenZip/ICodeProgress.java
Java/SevenZip/LzmaAlone.java
Traceback (most recent call last):
  File "down7z.py", line 37, in <module>
    dec_7z(file_name, "7z")
  File "down7z.py", line 31, in dec_7z
    outfile.write(archive.getmember(name).read())
  File "C:\ProgramData\Anaconda3\envs\py27\lib\site-packages\py7zlib.py", line 6
32, in read
    data = getattr(self, decoder)(coder, data, level, num_coders)
  File "C:\ProgramData\Anaconda3\envs\py27\lib\site-packages\py7zlib.py", line 7
02, in _read_lzma
    return self._read_from_decompressor(coder, dec, input, level, num_coders, wi
th_cache=True)
  File "C:\ProgramData\Anaconda3\envs\py27\lib\site-packages\py7zlib.py", line 6
70, in _read_from_decompressor
    tmp = decompressor.decompress(data)
ValueError: data error during decompression

And my env:

>uname
MINGW32_NT-6.1

>pip search pylzma
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Ple
ase upgrade your Python as Python 2.7 won't be maintained after that date. A fut
ure version of pip will drop support for Python 2.7.
pylzma (0.5.0)  - Python bindings for the LZMA library by Igor Pavlov.
  INSTALLED: 0.5.0 (latest)

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0