Форум сайта python.su
Здравствуйте. Помогите решить задачу. Есть сайт с файлами, эти файлы надо добавить в архив, но при этом избежать их сохранения на диск. Архив тоже не нужно сохранять на диск, нужно, чтобы он висел в памяти и в последующем его можно было использовать, например отправить на почту. Пробовал так, но ничего не выходит.
for x in llinkslist: link = 'www.example/' + x +'.png' image = requests.get(link).content img = BytesIO(image) img.name = x + '.png' zipf = BytesIO() with zipfile.ZipFile(zipf, mode='w') as z: z.write(img.name)
Офлайн
>>> import zipfile >>> import io >>> >>> data = io.BytesIO() >>> with zipfile.ZipFile(data, 'w') as zout: ... zout.writestr('file.txt', 'test') ... >>> data.seek(0) 0 >>> data.read() b'PK\x03\x04\x14\x00\x00\x00\x00\x00\nr>M\x0c~\x7f\xd8\x04\x00\x00\x00\x04\x00\x00\x00\x08\x00\x00\x00file.txttestPK\x01\x02\x14\x03\x14\x00\x00\x00\x00\x00\nr>M\x0c~\x7f\xd8\x04\x00\x00\x00\x04\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00file.txtPK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x006\x00\x00\x00*\x00\x00\x00\x00\x00' >>> data.seek(0) 0 >>> with open('file.zip', 'wb') as fout: ... fout.write(data.read()) ... 118 >>>
Офлайн