我正在做一些文件處理和生成文件,我需要從現有數據生成一些臨時文件,然後將該文件用作我的函數的輸入。如何在django中生成臨時文件然後銷燬
但我很困惑我應該在哪裏保存該文件,然後刪除它。
是否存在這樣的文件自動獲取用戶會話
我正在做一些文件處理和生成文件,我需要從現有數據生成一些臨時文件,然後將該文件用作我的函數的輸入。如何在django中生成臨時文件然後銷燬
但我很困惑我應該在哪裏保存該文件,然後刪除它。
是否存在這樣的文件自動獲取用戶會話
Python有tempfile module正是爲了這個目的。您不必擔心文件的位置/刪除,它適用於所有支持的平臺。
有三種類型的臨時文件:
tempfile.TemporaryFile
- 只是基本的臨時文件,tempfile.NamedTemporaryFile
- 「此功能工作完全一樣TemporaryFile()
確實,除了該文件是保證有一個明顯的文件系統中的名稱(在Unix上,目錄條目不是不鏈接的),該名稱可以從文件對象的名稱屬性中檢索到,「,tempfile.SpooledTemporaryFile
- 」Thi s功能的操作與TemporaryFile()
完全一樣,除了數據被緩存到內存中,直到文件大小超過max_size
,或直到調用文件的fileno()
方法,此時內容被寫入磁盤並且操作與TemporaryFile()
一樣進行。」編輯:你問的用法示例可能看起來像這樣:
>>> with TemporaryFile() as f:
f.write('abcdefg')
f.seek(0) # go back to the beginning of the file
print(f.read())
abcdefg
後刪除,您應該使用的東西從tempfile
模塊任何臨時位置。我認爲它擁有你需要的一切。
你能告訴我創建的臨時文件,然後使用它的一些例子,我找不到它在pagr – user825904
@ user32上:這個例子很簡單:你實例化一個類並獲得打開的文件作爲回報,然後你就像對待它是標準文件一樣操作它(具有文檔中提到的限制,意味着它只是暫時的等)。 – Tadeck