溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python實(shí)現(xiàn)獲取系統(tǒng)臨時(shí)目錄及臨時(shí)文件的方法示例

發(fā)布時(shí)間:2020-10-04 15:07:29 來(lái)源:腳本之家 閱讀:812 作者:輕舞肥羊 欄目:開發(fā)技術(shù)

本文實(shí)例講述了Python實(shí)現(xiàn)獲取系統(tǒng)臨時(shí)目錄及臨時(shí)文件的方法。分享給大家供大家參考,具體如下:

在開發(fā)應(yīng)用程序的過(guò)程中,會(huì)有一些臨時(shí)的信息,或者不太重要的信息,會(huì)保存在一個(gè)特殊的目錄下面,在windows 里面,通常會(huì)在 c:\docume~1\admini~1\locals~1\temp 這個(gè)地方,而在 centos 中就是 /tmp 目錄

比如我們經(jīng)常上網(wǎng),網(wǎng)頁(yè)的的一些臨時(shí)信息都保存在這個(gè)臨時(shí)目錄里面。那么在我們自己寫應(yīng)用程序的時(shí)候,怎么得到這個(gè)臨時(shí)目錄,怎么創(chuàng)建臨時(shí)文件呢。在python里面有tempfile這個(gè)模塊可以調(diào)用.

1. 生成臨時(shí)文件

import tempfile
tmpfd, tempfilename = tempfile.mkstemp()
print tmpfd
print tempfilename
os.close(tmpfd)

看到類似的如下結(jié)果:

3
c:\docume~1\admini~1\locals~1\temp\tmpbg6tkl

2.刪除臨時(shí)文件

os.unlink(tempfilename)

當(dāng)然也還有其他的方法,這里將這些方法列出來(lái),講解一下

tempfile.mkstemp([suffix=''[, prefix='tmp'[, dir=None[, text=False]]]])

mkstemp方法用于創(chuàng)建一個(gè)臨時(shí)文件。該方法僅僅用于創(chuàng)建臨時(shí)文件, 調(diào)用tempfile.mkstemp函數(shù)后,返回包含兩個(gè)元素的元組,第一個(gè)元素指示操作該臨時(shí)文件的安全級(jí)別,第二個(gè)元素指示該臨時(shí)文件的路徑。參數(shù) suffix和prefix分別表示臨時(shí)文件名稱的后綴和前綴;dir指定了臨時(shí)文件所在的目錄,如果沒有指定目錄,將根據(jù)系統(tǒng)環(huán)境變量TMPDIR, TEMP或者TMP的設(shè)置來(lái)保存臨時(shí)文件;參數(shù)text指定了是否以文本的形式來(lái)操作文件,默認(rèn)為False,表示以二進(jìn)制的形式來(lái)操作文件。

tempfile.mkdtemp([suffix=''[, prefix='tmp'[, dir=None]]])

該函數(shù)用于創(chuàng)建一個(gè)臨時(shí)文件夾。參數(shù)的意思與tempfile.mkdtemp一樣。它返回臨時(shí)文件夾的絕對(duì)路徑。

tempfile.mktemp([suffix=''[, prefix='tmp'[, dir=None]]])

mktemp用于返回一個(gè)臨時(shí)文件的路徑,但并不創(chuàng)建該臨時(shí)文件。

tempfile.tempdir

該屬性用于指定創(chuàng)建的臨時(shí)文件(夾)所在的默認(rèn)文件夾。如果沒有設(shè)置該屬性或者將其設(shè)為None,Python將返回以下環(huán)境變量TMPDIR, TEMP, TEMP指定的目錄,如果沒有定義這些環(huán)境變量,臨時(shí)文件將被創(chuàng)建在當(dāng)前工作目錄。

tempfile.gettempdir()

gettempdir()則用于返回保存臨時(shí)文件的文件夾路徑。

tempfile.TemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]])

該函數(shù)返回一個(gè) 類文件 對(duì)象(file-like)用于臨時(shí)數(shù)據(jù)保存(實(shí)際上對(duì)應(yīng)磁盤上的一個(gè)臨時(shí)文件)。當(dāng)文件對(duì)象被close或者被del的時(shí)候,臨時(shí)文件將從磁盤上刪除。 mode、bufsize參數(shù)的單方與open()函數(shù)一樣;suffix和prefix指定了臨時(shí)文件名的后綴和前綴;dir用于設(shè)置臨時(shí)文件默認(rèn)的保 存路徑。返回的類文件對(duì)象有一個(gè)file屬性,它指向真正操作的底層的file對(duì)象。

tempfile.NamedTemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None[, delete=True]]]]]])

tempfile.NamedTemporaryFile函數(shù)的行為與tempfile.TemporaryFile類似,只不過(guò)它多了一個(gè)delete 參數(shù),用于指定類文件對(duì)象close或者被del之后,是否也一同刪除磁盤上的臨時(shí)文件(當(dāng)delete = True的時(shí)候,行為與TemporaryFile一樣)。

tempfile.SpooledTemporaryFile([max_size=0[, mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None]]]]]])

tempfile.SpooledTemporaryFile函數(shù)的行為與tempfile.TemporaryFile類似。不同的是向類文件對(duì)象寫數(shù) 據(jù)的時(shí)候,數(shù)據(jù)長(zhǎng)度只有到達(dá)參數(shù)max_size指定大小時(shí),或者調(diào)用類文件對(duì)象的fileno()方法,數(shù)據(jù)才會(huì)真正寫入到磁盤的臨時(shí)文件中

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI