En Python usando Flask, ¿cómo puedo escribir un objeto para descargar?

Estoy usando matraz y corriendo capataz. Los datos que he construido en la memoria y quiero que el usuario pueda descargar estos datos en un archivo de texto. No quiero escribir los datos en un archivo en el disco local y dejarlos disponibles para descargar.

Soy nuevo en Python. Pensé que crearía algún objeto de archivo en la memoria y luego establecería el encabezado de respuesta, ¿quizás?

La transmisión de archivos al cliente sin guardarlos en el disco se trata en la sección “patrón” de los documentos de Flask, específicamente en la sección sobre transmisión . Básicamente, lo que hace es devolver un objeto de Response completo que incluya su iterador:

 from flask import Response # construct your app @app.route("/get-file") def get_file(): results = generate_file_data() generator = (cell for row in results for cell in row) return Response(generator, mimetype="text/plain", headers={"Content-Disposition": "attachment;filename=test.txt"})