您好,登錄后才能下訂單哦!
本文實例講述了Python實現獲取系統臨時目錄及臨時文件的方法。分享給大家供大家參考,具體如下:
在開發應用程序的過程中,會有一些臨時的信息,或者不太重要的信息,會保存在一個特殊的目錄下面,在windows 里面,通常會在 c:\docume~1\admini~1\locals~1\temp 這個地方,而在 centos 中就是 /tmp 目錄
比如我們經常上網,網頁的的一些臨時信息都保存在這個臨時目錄里面。那么在我們自己寫應用程序的時候,怎么得到這個臨時目錄,怎么創建臨時文件呢。在python里面有tempfile這個模塊可以調用.
1. 生成臨時文件
import tempfile tmpfd, tempfilename = tempfile.mkstemp() print tmpfd print tempfilename os.close(tmpfd)
看到類似的如下結果:
3
c:\docume~1\admini~1\locals~1\temp\tmpbg6tkl
2.刪除臨時文件
os.unlink(tempfilename)
當然也還有其他的方法,這里將這些方法列出來,講解一下
tempfile.mkstemp([suffix=''[, prefix='tmp'[, dir=None[, text=False]]]])
mkstemp方法用于創建一個臨時文件。該方法僅僅用于創建臨時文件, 調用tempfile.mkstemp
函數后,返回包含兩個元素的元組,第一個元素指示操作該臨時文件的安全級別,第二個元素指示該臨時文件的路徑。參數 suffix和prefix分別表示臨時文件名稱的后綴和前綴;dir指定了臨時文件所在的目錄,如果沒有指定目錄,將根據系統環境變量TMPDIR, TEMP或者TMP的設置來保存臨時文件;參數text指定了是否以文本的形式來操作文件,默認為False,表示以二進制的形式來操作文件。
tempfile.mkdtemp([suffix=''[, prefix='tmp'[, dir=None]]])
該函數用于創建一個臨時文件夾。參數的意思與tempfile.mkdtemp
一樣。它返回臨時文件夾的絕對路徑。
tempfile.mktemp([suffix=''[, prefix='tmp'[, dir=None]]])
mktemp用于返回一個臨時文件的路徑,但并不創建該臨時文件。
tempfile.tempdir
該屬性用于指定創建的臨時文件(夾)所在的默認文件夾。如果沒有設置該屬性或者將其設為None,Python將返回以下環境變量TMPDIR, TEMP, TEMP指定的目錄,如果沒有定義這些環境變量,臨時文件將被創建在當前工作目錄。
tempfile.gettempdir()
gettempdir()
則用于返回保存臨時文件的文件夾路徑。
tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]])
該函數返回一個 類文件 對象(file-like)用于臨時數據保存(實際上對應磁盤上的一個臨時文件)。當文件對象被close或者被del的時候,臨時文件將從磁盤上刪除。 mode、bufsize參數的單方與open()
函數一樣;suffix和prefix指定了臨時文件名的后綴和前綴;dir用于設置臨時文件默認的保 存路徑。返回的類文件對象有一個file屬性,它指向真正操作的底層的file對象。
tempfile.NamedTemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None[, delete=True]]]]]])
tempfile.NamedTemporaryFile
函數的行為與tempfile.TemporaryFile
類似,只不過它多了一個delete 參數,用于指定類文件對象close或者被del之后,是否也一同刪除磁盤上的臨時文件(當delete = True
的時候,行為與TemporaryFile一樣)。
tempfile.SpooledTemporaryFile([max_size=0[, mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]]])
tempfile.SpooledTemporaryFile
函數的行為與tempfile.TemporaryFile
類似。不同的是向類文件對象寫數 據的時候,數據長度只有到達參數max_size指定大小時,或者調用類文件對象的fileno()
方法,數據才會真正寫入到磁盤的臨時文件中
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。