zipfile.BadZipfile: Bad CRC-32 for file | Read only file

≡放荡痞女 提交于 2020-01-06 05:43:25

问题


Got a read-only file within a zip file which are password protected and I need to extract it to the /tmp directory.

I get a CRC-32 error which suggests that the file would be corrupted yet I know it isn't and is in fact a read-only file. Any Suggestions?

Error:

Traceback (most recent call last):
File "/tmp/usercode.py", line 45, in <module>
zip.extractall('/tmp',pwd = "piso")
File "/usr/lib64/python2.7/zipfile.py", line 1040, in extractall
self.extract(zipinfo, path, pwd)
File "/usr/lib64/python2.7/zipfile.py", line 1028, in extract
return self._extract_member(member, path, pwd)
File "/usr/lib64/python2.7/zipfile.py", line 1084, in _extract_member
shutil.copyfileobj(source, target)
File "/usr/lib64/python2.7/shutil.py", line 49, in copyfileobj
buf = fsrc.read(length)
File "/usr/lib64/python2.7/zipfile.py", line 632, in read
data = self.read1(n - len(buf))
File "/usr/lib64/python2.7/zipfile.py", line 672, in read1
self._update_crc(data, eof=(self._compress_left==0))
File "/usr/lib64/python2.7/zipfile.py", line 647, in _update_crc
raise BadZipfile("Bad CRC-32 for file %r" % self.name)
zipfile.BadZipfile: Bad CRC-32 for file 'alien-12.txt'

Code:

# importing required modules
from zipfile import ZipFile

# specifying the zip file name
file_name = "/tmp/alien-12.zip"

# opening the zip file in READ mode
with ZipFile(file_name, 'r') as zip:
    # printing all the contents of the zip file
    zip.printdir()

    # extracting all the files
    print('Extracting all the files now...')
    zip.extractall('/tmp',pwd = "piso")
    print('Done!')

If I change the line of:

    zip.extractall('/tmp',pwd = "piso")

then I get the error of:

IOError: [Errno 30] Read-only file system: 

Then go on to try and fix it first by trying to output what is in the zip file.

zipfile.testzip() returns which then errors

Error:

 RuntimeError: File alien-12.txt is encrypted, password required for extraction

来源:https://stackoverflow.com/questions/48745258/zipfile-badzipfile-bad-crc-32-for-file-read-only-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!