python中文件的知識點總結

讀寫文件是最常見的IO操作。Python內置了讀寫文件的函數,用法和C是兼容的。

讀寫文件前,我們先必須瞭解一下,在磁盤上讀寫文件的功能都是由操作系統提供的,現代操作系統不允許普通的程序直接操作磁盤,所以,讀寫文件就是請求操作系統打開一個文件對象(通常稱為文件描述符),然後,通過操作系統提供的接口從這個文件對象中讀取數據(讀文件),或者把數據寫入這個文件對象(寫文件)。

文件格式

函數open: open(name,[,mode[,buffering]]) ------>文件名,模式,緩衝,後兩者時可選內容。

模式參數常用值:


python中文件的知識點總結


緩衝參數:

python中文件的知識點總結


文件對象(類文件對象):稱為流。

讀與寫

注意:不需要提前創建文件,這裡write/read可以直接創建新文件並寫入/讀取。


python中文件的知識點總結

寫文件的同時會創建一個名字叫a.txt的文件,你需要指定絕對路徑。

f.close() 是很重要的,一定要記得寫上。

讀取的順序是依次進行的,先4然後繼續往下,不會從頭計算,上面也不寫就直接read剩餘的。

文件定位

tell()方法告訴你文件內的當前位置, 換句話說,下一次的讀寫會發生在文件開頭這麼多字節之後。

seek(offset [,from])方法改變當前文件的位置。Offset變量表示要移動的字節數。From變量指定開始移動字節的參考位置。

如果from被設為0,這意味著將文件的開頭作為移動字節的參考位置。如果設為1,則使用當前的位置作為參考位置。如果它被設為2,那麼該文件的末尾將作為參考位置。

python中文件的知識點總結


讀寫行:

readline:後不加參數,會一直讀取到換行符為止。同時也會讀出換行符。

加參數:讀取字符的最大值。

readlines:讀取一個文件所有行,並以列表返回。

write:(沒有writeline方法。)

writelines:與readlines相反,傳給它一個列表(或任何序列。)它都會把所有字符串寫入文件。

注:程序不會增加新行,需要自己添加。

關閉文件:

close()方法。

f=open()

f.write()

f.close()

確保文件被關閉,用try/finally語句。如下圖例子所示:

python中文件的知識點總結


專門語句:with語句,文件在語句結束會自動關閉。

with open('/path/to/file', 'r') as f:

print(f.read())


分享到:


相關文章: