python 文件處理
阿新 • • 發佈:2018-04-30
沒有 PE 打開文件 nco python run 句柄 size AD
一、文件操作
打開文件時,需要指定文件路徑和以何等方式打開文件,打開後,即可獲取該文件句柄,日後通過此文件句柄對該文件操作。
打開文件的模式有:
- 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 文件處理