Python檔案基本操作及上下文管理

2022-08-26 07:00:13 字數 2102 閱讀 7143

開啟檔案:f = open(fole_name,mode = 'r'),傳入表示檔案路徑的字串,會返回乙個檔案物件,mode是檔案開啟模式。

關閉檔案:f.close(),呼叫給定檔案物件的close方法。

檔案開啟模式

r:以唯讀方法開啟檔案,檔案指標預設放在檔案開頭,檔案不存在就報錯。

r+:開啟乙個檔案用於讀寫,檔案指標預設放在檔案開頭,檔案不存在則報錯。

w:開啟乙個檔案只用於寫入,如果檔案已存在則將其覆蓋,不存在就建立乙個新檔案。

w+:開啟乙個檔案用於讀寫,如果檔案已存在則將其覆蓋,不存在就建立乙個新檔案。

a:開啟乙個檔案用於追加,如果檔案存在,檔案指標會放在檔案結尾,不存在就會建立乙個新檔案進行寫入。

a+:開啟乙個檔案用於讀寫,如果檔案存在,檔案指標會放在檔案結尾,不存在就會建立乙個新檔案進行寫入。

其他模式還有:rb 、rb+ 、wb 、 wb+ 、ab 、ab+。加個b的意思是以二進位制的格式寫入。

讀取/寫入檔案:

f.read():讀取指定大小的內容。

f.readline():讀取一行內容。

f.readlines():讀取多行內容。

f.write(data):寫入內容。

f.writelines(lines):寫入多行內容,但需要自己加換行符。

f.flush():立即重新整理緩衝。

f.tell():返回檔案指標的位置。

f.seek(position):調整檔案指標的位置。

上下文管理就是我們常用的with......as......方法。他可以在我們開啟檔案後自動地關閉檔案。在這上下文管理協議中,就涉及到了兩個魔法方法,乙個是__enter__,另乙個是__exit__。

__enter__(self):當with開始執行的時候觸發此方法的執行,返回值返回給as後面的變數。

__exit__(self, exc_type, exc_val, exc_tb):當with執行結束之後觸發此方法的執行,其中如果丟擲異常,exc_type、exc_val、exc_tb分別表示異常的型別、異常內容、異常顯示所在位置。

from datetime import datetime

class test_time():

def __init__(self,filename,mode):

self.filename = filename

self.mode = mode

def __enter__(self):

self.start_time = datetime.now()

self.f = open(self.filename,self.mode)

return self.f

def __exit__(self, exc_type, exc_val, exc_tb):

self.end_time = datetime.now()

time = self.end_time - self.start_time

print("程式執行時間為%s"%time)

run = test_time('tem.txt','w+')

with run as f:

f.write("hello,world!my name is long")

f.readline()

#程式執行時間為0:00:00.001000

有時侯我們獲取的資料用於處理後就會丟棄不用,老用檔案來儲存可能會浪費記憶體,我們也許可以考慮下在記憶體中模擬乙個檔案,也叫記憶體假檔案,它的好處是檔案一旦關閉,裡面的資料就會消失,因此常用於存放臨時的資料。相對於檔案的操作,假檔案的執行速度更快。

導包:import io

檔案建立:f = io.stringio()

檔案寫入:f.write()

檔案讀取:f.getvalue()文**件指標在哪,讀取全部資料。

其他的基本操作基本上與檔案基本操作雷同

關於檔案的操作還有乙個os模組,這個模組可以輕鬆實現檔案的許多操作:os模組

xml檔案及基本操作

xml是一種可擴充套件標記語言,用於儲存和傳輸資料的,它與作業系統 程式語言的開發平台無關,可以實現不同系統之間的資料互動。xml是一種樹形結構,一定有乙個根節點。xml基本語法 是由標籤組成的 對大小寫敏感 標籤是成雙成對出現的 可以自定義標籤 必須有根元素 標籤必須正確巢狀 屬性值必須加雙引號,...

python的with檔案操作與上下文

帶有 with 關鍵字的語句,它通常用在對於系統資源如檔案 資料庫連線 socket而言,應用程式開啟這些資源並執行完業務邏輯之後,必須做的一件事就是要關閉 斷開 該資源。比如 python 程式開啟乙個檔案,往檔案中寫內容,寫完之後,就要關閉該檔案,否則會出現什麼情況呢?極端情況下會出現 too ...

python 檔案的基本操作

檔案的操作 建立,讀,寫 建立檔案 file open read write close 以讀的方式開啟檔案 obj file c users administrator desktop python.h r 如果檔案不存在,則建立檔案,如果檔案存在,以讀寫的方式開啟檔案,重新編輯,原始檔記憶體刪除...