2012-09-27 36 views
1

我有一個關於Python tempfile的快速問題。什麼時候應該使用tempfile

當shoudl我使用tempfile?如果我使用tempfile.mkstemp創建一個臨時文件,是否與普通文件相同?有什麼區別?謝謝。

+4

您是否已閱讀文檔? http://docs.python.org/library/tempfile.html#tempfile.mkstemp – dm03514

回答

3

documentation幾乎說明了一切。在我看來,當你需要創建一個文件但不關心它的名字時,你應該使用tempfile。如果您願意,您可以在完成或保存後自動刪除文件。其他程序也可以看到它。

0

本文對它的用途有很好的解釋。

http://pythoncentral.org/using-the-python-tempfile-module/

第一款提供了一個很好的總結

雖然以Python進行編程,有可能會在那裏你有一些數據需要被利用,或以中 一個形式操縱倍文件但尚未寫入一個。當然,想到的第一個 解決方案是打開一個新的或現有的文件,寫入 的數據,並最終保存它(如果你不熟悉如何做到這一點 看看文章中的讀和寫文件蟒蛇)。 但是,也可能出現這樣的情況,即一旦您的腳本 完成運行,您不需要或不再需要該文件,因此,不希望它掛在你或任何人的身邊其他文件 系統。

0

Learning Python

使用臨時文件

如果你曾經寫過shell腳本,並利用中介 文件存儲 處理的一些中間階段的結果需要,您可能遭受目錄垃圾。您開始使用名爲log_001.txt,log_002.txt等20個文件的 ,並且您想要的所有 都是一個名爲log_sum.txt的摘要文件。另外,你有一大堆log_001.tmp,log_001.tm2等文件,雖然它們的標記爲 ,但它們仍被卡住。至少這就是我們看到的 發生在我們自己的生活中。要將訂單放回您的目錄,請在特定目錄中使用 臨時文件,然後再進行清理。

爲了解決這個臨時文件管理問題,Python提供了一個名爲tempfile的漂亮的小模塊,它發佈了兩個函數: mktemp()和TemporaryFile()。前者返回 臨時文件(例如Unix上的/ tmp或Windows上的C:\ TMP)上目前未在您計算機上的目錄中使用的文件 的名稱 。後者直接返回一個新的文件對象。

相關問題