Как декодировать закодированный zipfile, используя Python? - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть zip-файл в кодировке base64.Я могу преобразовать этот zip-файл, а затем извлечь его содержимое с помощью командной строки Windows.Я пытался сделать то же самое с Python, но безуспешно.Не могли бы вы мне помочь?Когда я запускаю следующий код:

import base64
import codecs
import zlib
import io, zipfile, json, pprint

d = open("data.txt", "rb").read()
#dd = base64.decodestring(d)
#print(dd)
z = zipfile.ZipFile(io.BytesIO(d))
unpack = zlib.decompress(d)

я получаю следующую ошибку:

повышение BadZipFile («Файл не является zip-файлом») zipfile.BadZipFile: Файл не являетсяzip-файл

Файл data.txt содержит строку base64: enter image description here

1 Ответ

0 голосов
/ 19 февраля 2019

Мой друг помог мне.Я думал, что размещение решения здесь может помочь многим новичкам, таким как я:

 def convert(d,name, ex):
    with open('output_file.zip', 'wb') as result:
        result.write(base64.b64decode(d))
    zip_ref = zipfile.ZipFile("output_file.zip", 'r')
    zip_ref.extractall("extracted_file")
    zip_ref.close()

    for filename in os.listdir("extracted_file"):
        extracted_file = "extracted_file/"+filename
        shutil.move(extracted_file, "images/"+name+ex)
...