Как я могу обслуживать временные файлы из Python Pyramid

В настоящее время я просто обслуживаю такие файлы:

# view callable
def export(request):
    response = Response(content_type='application/csv')
    # use datetime in filename to avoid collisions
    f = open('/temp/XML_Export_%s.xml' % datetime.now(), 'r')
        # this is where I usually put stuff in the file
    response.app_iter = f
    response.headers['Content-Disposition'] = ("attachment; filename=Export.xml")
    return response

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

Ответы на вопрос(6)

Ваш ответ на вопрос