2010-08-04 22 views
5

Sto usando xlwt in python per creare un foglio di calcolo Excel. Puoi scambiarlo per quasi tutto ciò che genera un file; è quello che voglio fare con il file che è importante.Salvataggio di un file temporaneo

from xlwt import * 

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

voglio ho due casi d'uso per il file: la riproduzione in streaming fuori per browser dell'utente o io allegarlo a una e-mail. In entrambi i casi il file deve solo esistere la durata della richiesta web che lo genera.

Quello che sto ottenendo, il motivo per l'avvio di questo thread è il salvataggio in un file reale sul filesystem ha i suoi ostacoli (arresto sovrascrittura, pulizia del file una volta fatto). C'è un posto dove potrei "salvarlo" dove vive solo nella memoria e solo per la durata della richiesta?

risposta

5

cStringIO

(o mmap se deve essere mutabile)

+0

Grandi cose. Avevo pensato a qualcosa del genere ma supponevo (erroneamente) che xlwt prendesse solo un nome di file e non un oggetto. – Oli

+0

Polymorphism ftw! – katrielalex

+0

Hmmm ... se si modifica l'immagine del file risultante, si prega di non segnalare problemi nel tentativo di leggerlo. –

1

Generalizzare la risposta, come lei ha suggerito: Se la "qualsiasi altra cosa che genera un file" non accetterà un oggetto simile a file come così come un percorso file, quindi è possibile ridurre il fastidio utilizzando tempfile.NamedTemporaryFile

Problemi correlati