Así que tienen un objeto StringIO()
tipo fichero, y yo estoy tratando de escribirla en un ZipFile()
, pero me da este TypeError:¿Cómo puedo pasar un objeto Python StringIO() a un ZipFile(), o no es compatible?
coercing to Unicode: need string or buffer, cStringIO.StringI found
Este es un ejemplo del código que estoy utilizando:
file_like = StringIO()
archive = zipfile.ZipFile(file_like, 'w', zipfile.ZIP_DEFLATED)
# my_file is a StringIO object returned by a remote file storage server.
archive.write(my_file)
Los documentos dicen que StringIO()
es una clase de archivo y que ZipFile()
puede aceptar un objeto similar a un archivo. ¿Hay algo que este olvidando? Cualquier ayuda sería muy apreciada.
¡Gracias de antemano!
El parámetro para ['ZipFile.write()'] (http://docs.python.org/library/zipfile.html#zipfile.ZipFile.write) es un nombre de archivo. –
Acabo de encontrar esto; ¿Hay un error tipográfico en tu segunda línea, o fue ese tu código real? 'ZipFile (file_file' en lugar de' ZipFile (file_like' – Bogdacutu