標籤:換行 描述符 通過 body 方法 開始 否則 一個 lin
一、檔案操作
開啟檔案時,需要指定檔案路徑和以何等方式開啟檔案,開啟後,即可擷取該檔案控制代碼,日後通過此檔案控制代碼對該檔案操作。
開啟檔案的模式有:
- r ,唯讀模式【預設模式,檔案必須存在,不存在則拋出異常】
- w,唯寫模式【不可讀;不存在則建立;存在則清空內容】
- x, 唯寫模式【不可讀;不存在則建立,存在則報錯】
- a, 追加模式【可讀; 不存在則建立;存在則只追加內容】
"+" 表示可以同時讀寫某個檔案
- r+, 讀寫【可讀,可寫】
- w+,寫讀【可讀,可寫】
- x+ ,寫讀【可讀,可寫】
- a+, 寫讀【可讀,可寫】
"b"表示以位元組的方式操作
- rb 或 r+b
- wb 或 w+b
- xb 或 w+b
- ab 或 a+b
註:以b方式開啟時,讀取到的內容是位元組類型,寫入時也需要提供位元組類型,不能指定編碼
Table 檔案對象方法
方法 |
描述 |
f.close() |
關閉檔案,記住用open()開啟檔案後一定要記得關閉它,否則會佔用系統的可開啟檔案控制代碼數。 |
f.fileno() |
獲得檔案描述符,是一個數字 |
f.flush() |
重新整理輸出緩衝 |
f.isatty() |
如果檔案是一個互動終端,則返回True,否則返回False。 |
f.read([count]) |
讀出檔案,如果有count,則讀出count個位元組。 |
f.readline() |
讀出一行資訊。 |
f.readlines() |
讀出所有行,也就是讀出整個檔案的資訊。 |
f.seek(offset[,where]) |
把檔案指標移動到相對於where的offset位置。where為0表示檔案開始處,這是預設值 ;1表示當前位置;2表示檔案結尾。 |
f.tell() |
獲得檔案指標位置。 |
f.truncate([size]) |
截取檔案,使檔案的大小為size。 |
f.write(string) |
把string字串寫入檔案。 |
f.writelines(list) |
把list中的字串一行一行地寫入檔案,是連續寫入檔案,沒有換行。 |
read(3)代表讀取3個字元,其餘的檔案內游標移動是以位元組為單位,如:seek,tell,read,truncate
f.flush() #講檔案內容從記憶體刷到硬碟(python3.x)
f.closed #檔案如果關閉則返回True
f.encoding #查看使用open開啟檔案的編碼
f.tell() #查看檔案處理當前的游標位置
f.seek(3) #從開頭開始算,將游標移動到第三個位元組
f.truncate(10) #從開頭開始算,將檔案只保留從0-10個位元組的內容,檔案必須以寫方式開啟,但是w和w+除外。
對檔案操作的流程
- 開啟檔案,得到檔案控制代碼並賦值給一個變數
- 通過控制代碼對檔案進行操作
- 關閉檔案
python 檔案處理