Flaskを使用して、フォアマンを実行しています。メモリ内に作成したデータを使用して、ユーザーがこのデータをテキストファイルにダウンロードできるようにします。書き込みたくないデータをローカルディスク上のファイルに出力し、ダウンロードできるようにします。
私はPythonを初めて使用します。メモリ内にファイルオブジェクトを作成してから、応答ヘッダーを設定すると思いました。
ファイルをディスクに保存せずにクライアントにストリーミングする方法については、Flaskのドキュメントの「パターン」セクション、具体的には ストリーミングに関するセクション で説明しています。基本的に、あなたがすることはあなたのイテレータを包む本格的な Response
オブジェクトを返すことです:
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"})