我目前正在開發一個服務器端json接口,其中有幾個臨時文件在請求期間處理。如何清理與send_file一起使用的臨時文件?
我的用於在請求結束清理這些文件當前解決方案是這樣的:
@app.route("/method",methods=['POST'])
def api_entry():
with ObjectThatCreatesTemporaryFiles() as object:
object.createTemporaryFiles()
return "blabalbal"
在這種情況下,清理需要花邊在對象.__出口__()
然而,在少數情況下,我需要到一個臨時文件返回給客戶端,在這種情況下,代碼如下所示:
@app.route("/method",methods=['POST'])
def api_entry():
with ObjectThatCreatesTemporaryFiles() as object:
object.createTemporaryFiles()
return send_file(object.somePath)
目前這是不行的,因爲當我清理需要PLAC燒瓶正在讀取文件並將其發送到客戶端。 ¨ 我該如何解決這個問題?
編輯:我忘了提及這些文件位於臨時目錄。
看起來不錯,是的,我正在使用燒瓶0.9 :) – monoceres
我的答案感覺就像這個旁邊的骯髒的黑客。 – madjar
不幸的是,在@after_this_request被調用的時候,燒瓶仍然打開文件:( – monoceres