Использование ZipFile.writestr
, кажется, позволяет достичь этого (см. Также документация )
from zipfile import ZipFile
with ZipFile('spam.zip', 'w') as myzip:
myzip.writestr('test.txt', 'test')
zip_file = ZipFile('spam.zip', 'r')
zip_file.namelist()
['test.txt']
Из исходного кода он не представляется для сохранения во временном файле, а записывает непосредственно впочтовый архив.