Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 27, 2010 23:30:18

DelphinCoder
От:
Зарегистрирован: 2009-05-05
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Файлоподобный объект

Проблема такая: использую PyRTF для генерации документа и отправки его пользователю в ответ на HTTP-запрос. Когда документ сформирован нужно произвести рендеринг перед тем как он станет реально документом RTF. Для этого нужно сделать так:

    DR = Renderer()
DR.Write( doc, open( 'test.rtf', 'w' ) )

testrtf = open('test.rtf', 'rb').read()
response = HttpResponse(testrtf, mimetype='application/rtf')
Проблема в том что мне нужно произвести ровно то же самое, но без записи на диск. Как я понимаю нужен какой-нибудь файлоподобный объект, который вместо записи на диск будет хранить все это дело в памяти.
Обычно в других языках программирования используются классы типа Stream. Можно конечно использовать TemporaryFile но это на крайний случай.
Погуглив и пролистав несколько книжек ничего подобного не нашел.
Подскажите, что можно использовать в этом случае?
Также проблематичность ситуации в том, что записываются данные в файл в текстовом формате, а считываются в бинарном.



Отредактировано (Янв. 27, 2010 23:45:07)

Офлайн

#2 Янв. 28, 2010 00:41:28

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Файлоподобный объект

cStringIO вам в помощь



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version