Python基礎 檔案讀寫

2021-10-20 14:04:46 字數 3156 閱讀 9074

type

info

r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

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

a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。

wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

r+開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

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

a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

屬性或方法

描述f.close()

關閉檔案物件f,並將屬性f.closed設定為true

f.closed

檔案已關閉,則返回true

f.encoding

bytes與str之間進行轉換時使用的編碼

f.fileno()

返回底層檔案的檔案描述符(只對那些有檔案描述符的檔案物件是可用的)

f.flush()

清空檔案物件f,並將快取中的內容寫入磁碟(如果有)

f.isatty()

如果檔案物件與控制台關聯,就返回true(只有在檔案物件應用了真正的檔案時才是可用的)

f.mode

檔案物件開啟時使用的模式

f.name

檔案物件f的檔名(如果有)

f.newlines

檔案檔案f中的換行字串的型別

f.next()

返回檔案物件f的下一行,大多數情況下,這種方法是隱式地使用的,比如對f中的行返回n個位元組,而不移動檔案指標的位置

f.peek(n)

返回n個位元組,而不移動檔案指標的位置

f.read(count)

從檔案物件f中讀取至多count個位元組,如果沒有指定count,就讀取從當前檔案指標直至最後的每個位元組。以二進位制模式讀時,返回bytes物件;以文字模式讀時,返回str物件。如果沒有要讀的內容(已到檔案結尾),就返回乙個空的bytes或str物件

f.readable()

如果f已經開啟等待讀取,就返回true

f.readinto(ba)

將至多len(ba)個位元組讀入到bytearray ba中,並返回讀入的位元組數——如果在檔案結尾,就為0(只有在二進位制模式時才是可用的

f.readline(count)

讀取下一行(如果指定count,並且在\n字元前滿足這一數值,那麼至多讀入count個位元組),包括\n

f.readlines(sizehint)

讀入到檔案結尾之前的所有行,並以列表形式返回。如果給定sizehint,那麼至多讀入大概sizehint個位元組(如果底層檔案物件支援)(這裡有點問題,os有一屬性default_buffer_size,其大小為8192(8k)位元組,readlines()函式在每次讀入的大小大約為default_buffer_size的乙個近似值,並不是讀入所有內容。)

f.seek(offset,whence)

如果沒有給定whence,或其為os.seek_set,就按給定的offset移動檔案指標(並作為下一次讀、寫的起點);如果whence為os.seek_cur,就相對於當前檔案指標位置將其移動offset(可以為負值)個位置(whence為os.seek_end,則是相對檔案結尾).在追加」a」模式下,寫入總是在結尾處進行的,而不管檔案指標在何處.在文字模式下,只應該使用tell()方法的返回值作為offset

f.seekable()

如果f支援隨機訪問,就返回true

f.tell()

返回當前指標位置(相對檔案起始處)

f.truncate(size)

擷取檔案到當前檔案指標所在位置,如果給定size,就到size大小處

f.writable()

如果f是為寫操作而開啟的,就返回true

f.write(s)

將bytes/bytearray物件s寫入到檔案(該檔案以二進位制模式開啟),或者將str物件s寫入到檔案(該檔案以文字模式開啟)

f.writelines(seq)

將物件序列(對文字檔案而言是字串,對二進位制檔案而言是位元組字串)寫入到檔案)

注意:讀取靜態檔案的函式,最好不要寫相對路徑!!!

寫檔案和讀檔案是一樣的,唯一區別是呼叫open()函式時,傳入識別符號』w』或者』wb』表示寫文字檔案或寫二進位制檔案:

open函式使用注意地方:

b』\xff\xd8\xff\xe1\x00\x18exif\x00\x00…』 十六進製制表示的位元組

python基礎 檔案讀寫

1.讀寫方式 f open text r encoding utf 8 2.寫讀方式 f open text w encoding utf 8 3.追加方式 f open text a encoding utf 8 4.讀方式 f open text r encoding utf 8 5.寫方式 f...

python基礎 讀寫檔案

import os print os.getcwd import os os.chdir 你想要的路徑 import os os.makedirs 你想要的檔案目錄 import os print os.path.abspath demo import os print os.path.isabs ...

python檔案讀寫(基礎)

1.開啟檔案 讀寫檔案是常見的io操作,python內建了讀寫檔案的函式,方便了檔案的io操作。檔案讀寫之前需要開啟檔案,確定檔案的讀寫模式。open函式用來開啟檔案,語法如下 open name,mode,buffering open函式使用乙個檔名作為唯一的強制引數,然後返回乙個檔案物件。模式 ...