2010-08-04 15 views
5

Estoy usando xlwt en python para crear una hoja de cálculo de Excel. Podrías intercambiar esto por casi cualquier otra cosa que genere un archivo; es lo que quiero hacer con el archivo que es importante.Guardar un archivo temporal

from xlwt import * 

w = Workbook() 
#... do something 
w.save('filename.xls') 

quiero Tengo dos casos de uso para el archivo: reproduzco a cabo en el navegador del usuario o que adjuntarlo a un correo electrónico. En ambos casos, el archivo solo necesita existir la duración de la solicitud web que lo genera.

Lo que estoy tratando de decir, la razón para iniciar este hilo es guardar en un archivo real en el sistema de archivos tiene sus propios obstáculos (dejar de sobrescribir, limpiar el archivo una vez hecho). ¿Hay algún lugar donde pueda "guardarlo" en el lugar donde vive solo en la memoria y solo mientras dure la solicitud?

Respuesta

5

cStringIO

(o mmap si debe ser mutable)

+0

cosas geniales. Había pensado en algo como esto pero supuse (incorrectamente) que xlwt solo tomaría un nombre de archivo y no un objeto. – Oli

+0

Polimorfismo ftw! – katrielalex

+0

Hmmm ... si muta la imagen de archivo resultante, no informe problemas al intentar leerla. –

1

Generalizar la respuesta, como usted sugiere: Si el "cualquier otra cosa que genera un archivo" no aceptará un objeto de fichero como así como una ruta de archivo, a continuación, puede reducir la molestia mediante tempfile.NamedTemporaryFile

Cuestiones relacionadas