Мне нужно скачать zip-архив текстовых файлов, отправить каждый текстовый файл в архиве другим обработчикам для обработки и, наконец, записать разархивированный текстовый файл на диск.
У меня есть следующий код. Он использует несколько открытых / закрытых для одного и того же файла, что не выглядит элегантно. Как мне сделать его более элегантным и эффективным?
zipped = urllib.urlopen('www.abc.com/xyz.zip')
buf = cStringIO.StringIO(zipped.read())
zipped.close()
unzipped = zipfile.ZipFile(buf, 'r')
for f_info in unzipped.infolist():
logfile = unzipped.open(f_info)
handler1(logfile)
logfile.close() ## Cannot seek(0). The file like obj does not support seek()
logfile = unzipped.open(f_info)
handler2(logfile)
logfile.close()
unzipped.extract(f_info)