Запишите двоичные данные с помощью Python в zip-файл.Python

Программы на Python
Ответить
Anonymous
 Запишите двоичные данные с помощью Python в zip-файл.

Сообщение Anonymous »

Я пытаюсь записать двоичные данные в zip-файл.

Приведенное ниже работает, но если я попытаюсь добавить .zip в качестве расширения файла для «проверки» переменной x, в файл ничего не запишется. Я не могу вручную добавить .zip

Код: Выделить всё

urla = "some url"
tok = "some token"
pp = {"token": tok}
t = requests.get(urla, params=pp)
b = t.content
x = r"C:\temp" + "\check"
z = 'C:\temp\checks.zip'
with open(x, "wb") as work:
work.write(b)
Чтобы к файлу было добавлено правильное расширение, я попытался использовать модуль ZipFile

Код: Выделить всё

with ZipFile(x, "wb") as work:
work.write(b)
но получите ошибку RuntimeError:

Код: Выделить всё

RuntimeError: ZipFile() requires mode "r", "w", or "a"
Если я удалю флаг b, будет создан пустой zip-файл, и я получу ошибку типа:

Код: Выделить всё

TypeError: must be encoded string without NULL bytes, not str
Я тоже пробовал, но получается поврежденный zip-файл.

Код: Выделить всё

os.rename(x, z )
Как записать двоичные данные в zip-файл.

Подробнее здесь: https://stackoverflow.com/questions/345 ... a-zip-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»