9 檔案與檔案系統

2021-09-28 23:59:13 字數 2493 閱讀 3481

1.讀寫檔案:open() 方法用於開啟乙個檔案,並返回檔案物件

注意:(1)使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。

(2)open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode)。

open

(file

, mode=

'r')

fo =

open

("r.txt"

,"wb"

)print

("檔名為: "

, fo.name)

# r.txt

相對完整的語法格式為:

open

(file

, mode=

'r', buffering=-1

, encoding=

none

, errors=

none

, newline=

none

, closefd=

true

, opener=

none

)

對應引數說明:

file:必需,檔案路徑(相對或者絕對路徑)

mode:可選,檔案開啟模式

buffering:設定緩衝

encoding:一般使用utf8

errors:報錯級別

newline:區分換行符

closefd:傳入的file引數型別

mode引數:模式

描述t文字模式 (預設)

x寫模式,新建乙個檔案,如果該檔案已存在則會報錯。

b二進位制模式。

+開啟乙個檔案進行更新(可讀可寫)。

u通用換行模式(python 3 不支援)。

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

rbr+

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

rb+w

開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wbw+

開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wb+a

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

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

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

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

2.檔案物件

常用函式:

(1 )file.close():關閉檔案,關閉後檔案不能再進行讀寫操作。

fileobject.close(

);

(2)file.flush():重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。

(3)file.fileno():返回乙個整型的檔案描述符(file descriptor fd 整型), 可以用在如os模組的read方法等一些底層操作上。

(4)file.isatty():如果檔案連線到乙個終端裝置返回 true,否則返回 false。

(5)file.next():python 3 中的 file 物件不支援 next() 方法。返回檔案下一行。

(6)file.read([size]):從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。

(7)file.readline([size]):讀取整行,包括 「\n」 字元。

(8)file.readlines([sizeint]):讀取所有行並返回列表,若給定sizeint>0,返回總和大約為sizeint位元組的行, 實際讀取值可能比 sizeint 較大, 因為需要填充緩衝區。

(9)file.seek(offset[, whence]):移動檔案讀取指標到指定位置

(10)file.tell():返回檔案當前位置。

(11)file.truncate([size]):從檔案的首行首字元開始截斷,截斷檔案為 size 個字元,無 size 表示從當前位置截斷;截斷之後後面的所有字元被刪除,其中 widnows 系統下的換行代表2個字元大小。

(12)file.write(str):將字串寫入檔案,返回的是寫入的字元長度。

(13)file.writelines(sequence):向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符。

Day 9 檔案與檔案系統

在寫入其他型別的物件之前,需要先把它們轉化為字串 在文字模式下 或者位元組物件 在二進位制模式下 f.read size 檔案末尾 f.read 將返回乙個空字串 f.readline 從文中讀取 for line in f print line,end this is the first line...

Day 9 檔案與檔案系統

練習1 開啟中文字元的文件時,會出現亂碼,python自帶的開啟檔案是否可以指定文字編碼?還是只能用相關函式?open file mode r buffering none encoding none errors none newline none closefd true 在mode中設定檔案開...

Python 9 檔案與檔案系統

檔案與檔案系統 開啟檔案 open file,mode r buffering none,encoding none,errors none,newline none,closefd true 開啟模式 執行操作 r 以唯讀方式開啟檔案,檔案的指標將會放在檔案的開頭 w 開啟乙個檔案只用於寫入。如果...