Найти - Пользователи
Полная версия: Добавить файлы в архив не сохраняя их на диск
Начало » Python для новичков » Добавить файлы в архив не сохраняя их на диск
1
JakeBV
Здравствуйте. Помогите решить задачу. Есть сайт с файлами, эти файлы надо добавить в архив, но при этом избежать их сохранения на диск. Архив тоже не нужно сохранять на диск, нужно, чтобы он висел в памяти и в последующем его можно было использовать, например отправить на почту. Пробовал так, но ничего не выходит.
     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)
py.user.next
  
>>> 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
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB