建立臨時資料夾
在臨時檔案進行資料讀寫,需要了解python讀寫檔案以及 tempfile 模組
1、臨時檔案的讀取以游標為準
from tempfile import temporaryfile
f = temporaryfile(
'w+'
)# w+ 表示寫入及讀取檔案
f.write(
'hello world!'
)data1 = f.readlines(
)print
(data1)
# 輸出結果
此時游標位於 'hello world! 』 的感嘆號後,所以臨時檔案的讀取的時候沒有讀取到內容
from tempfile import temporaryfile
f = temporaryfile(
'w+'
)f.write(
'hello world!\n'
)f.write(
'hello bobo!'
)f.seek(0)
# .seek(0)表示回到檔案開頭位置,若沒有該語句,
# 則游標位於 hello bobo!感嘆號後,讀取時讀取內容為空
data = f.readlines(
)print
(data)
f.close(
)# 程式執行完後會自動刪掉臨時檔案
# 執行結果:['hello world!\n', 'hello bobo!']
2、游標後存在內容,會進行文字覆蓋from tempfile import temporaryfile
f = temporaryfile(
'w+'
)f.write(
'hello world!\n'
)data1 = f.readlines(
)print
(data1)
f.seek(0)
f.write(
'hello bobo!'
)f.seek(0)
data2 = f.readlines(
)print
(data2)
輸出結果:
['hello bobo!!\n'
]可以發現,第一次寫完'hello world!\n'後,游標沒有回到檔案開頭,
進行第一次讀取時,游標位於 \n後,所以讀取的為空;
游標回到檔案開頭後,再進行第二次寫操作時,,所以進行了文字覆蓋
from tempfile import temporaryfile
f = temporaryfile(
'w+'
)f.write(
'hello world!\n'
)f.seek(0)
data1 = f.readlines(
)print
(data1)
f.write(
'hello bobo!'
)f.seek(0)
data2 = f.readlines(
)print
(data2)
輸出結果:
['hello world!\n'][
'hello world!\n'
,'hello bobo!'
]可以發現,第一次寫完'hello world!\n'後,游標回到了檔案開頭,
進行第一次讀取後,游標位於 \n後;
然後再進行第二次寫操作時,游標位於是 \n後,所以沒有進行文字覆蓋
3、臨時檔案銷毀後不能再進行二次讀寫from tempfile import temporaryfile
with temporaryfile(
'w+'
)as f:
f.write(
'hello world!\n'
) f.seek(0)
data1 = f.readlines(
)print
(data1)
f.write(
'hello bobo!'
)f.seek(0)
data2 = f.readlines(
)print
(data2)
輸出結果:
['hello world!\n'
]traceback (most recent call last)
: file "/media/bobo/648cebcd8ceb9836/python/自動化辦公/temporaryfile模組/temporarydirectorydemo2.py"
, line 17,in
f.write(
'hello bobo!'
)valueerror: i/o operation on closed file
.可以發現,with語句結束後,臨時檔案已銷毀,所以再次讀寫會報錯
import time
from tempfile import temporarydirectory
with temporarydirectory(
)as tmp_folder:
print
(f'臨時資料夾已建立:'
) time.sleep(60)
print
('此語句列印後臨時資料夾將銷毀'
)print
('臨時資料夾已銷毀'
)# 程式結束後會自動刪掉該資料夾
# 輸出結果 臨時資料夾已建立:/tmp/tmpnc3coasa
可根據輸出的路徑去 /tmp資料夾下查詢,可以發現,60s後,程式執行結束,臨時資料夾也被銷毀 python 建立臨時檔案和資料夾
需要在程式執行時建立乙個臨時檔案或目錄,並希望使用完之後可以自動銷毀掉。tempfile 模組中有很多的函式可以完成這任務。為了建立乙個匿名的臨時檔案,可以使用tempfile.temporaryfile from tempfile import temporaryfile with tempora...
P3 建立臨時檔案及資料夾
p3.建立臨時檔案及資料夾.md 寫入和讀取檔案 讀取檔案 open readlines close 例 f open file.txt r encoding utf 8 text f.readlines print text f.close 例2 推薦,不用寫colse with open fil...
python中臨時檔案及資料夾使用
三 臨時檔案 這裡介紹python中臨時檔案及資料夾使用。使用的是tempfile包 安裝 pip install tempfile 參考位址是 2.1 獲取臨時資料夾 獲取臨時資料夾 tmpdir tempfile.gettempdir print tmpdir tmp2.2 生成臨時資料夾 方式...