Сохранение временного файла - PullRequest
5 голосов
/ 04 августа 2010

Я использую xlwt в Python для создания электронной таблицы Excel. Вы можете заменить это почти на все, что создает файл; важно то, что я хочу сделать с файлом.

from xlwt import *

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

Я хочу, чтобы у меня было два варианта использования файла: я передаю его в браузер пользователя или прикрепляю к электронному письму. В обоих случаях файл должен существовать только во время веб-запроса, который его генерирует.

Что я понял, причина запуска этого потока заключается в том, что сохранение в реальном файле в файловой системе имеет свои препятствия (прекращение перезаписи, очистка файла после завершения). Есть ли где-нибудь, где я мог бы «сохранить» его, где он живет только в памяти и только на время запроса?

Ответы [ 2 ]

5 голосов
/ 04 августа 2010

cStringIO

(или mmap, если оно должно быть изменяемым)

1 голос
/ 07 августа 2010

Обобщая ответ, как вы предложили: если «все остальное, что генерирует файл», не будет принимать файловый объект, а также путь к файлу, то вы можете уменьшить хлопоты, используя tempfile.NamedTeoraryFile

...