Ситуация следующая:
Создаю объект TarFile с аргументом fileobj=StringIO.StringIO() и добавляю туда необходимые мне файлы, т.е. все данные записываются не на диск, а в объект файла. Подскажите, как теперь сжать посредством zlib.compress() данный объект tarfile.TarFile? Другое дело было, если бы я сжимал его, открыв и прочитав данный файл с диска, типа:
import zlib, tarfile, StringIO tf = open('t.tar', 'r').read() zl = zlib.compress(tf)
Как быть, если объект файла берется из памяти?
import zlib, tarfile, StringIO tf = tarfile.open(mode='w', fileobj=StringIO.StringIO()) tf.add('file_one') tf.add('file_two') ... tf.close() zl = zlib.compress(???)