1 文件打開方法
1.1 open及file內(nèi)建函數(shù)
- 內(nèi)建函數(shù)
open()/file()提供了初始化輸入/輸出(I/O)操作的通用接口 - 成功打開文件后會返回一個
文件對象,否則引發(fā)一個錯誤 -
open()和file()可以完全相互替換 - 基本語法:
file_boject = open(file_name, access_mode='r', buffering=-1)
1.2文件對象訪問模式
| 文件模式 | 操作 |
|---|---|
| r | 以讀方式打開(文件不存在則報錯) |
| w | 以寫方式打開(文件存在則清空,不存在則創(chuàng)建) |
| a | 以追加模式打開(必要時創(chuàng)建新文件) |
| r+ | 以讀寫模式打開(參見r) |
| w+ | 以讀寫模式打開(參見w) |
| a+ | 以讀寫模式打開(參見a) |
文件輸入
read方法
-
read()方法用來直接讀寫字節(jié)到字符串中,最多讀取給定數(shù)目個字節(jié) - 如果沒有給定
size參數(shù)(默認值為-1)或者size值為負,文件將被讀取直至末尾
readline方法
- 讀取打開文件的第一行(讀取下一個行結(jié)束符之前的所有字節(jié))
- 整行讀取,包括行結(jié)束符,作為
字符串返回 - 也有一個可選的
size參數(shù),默認值為-1,代表讀至行結(jié)束符 - 如果提供了該參數(shù),那么在超過
size個字節(jié)后會返回不完整的行
readlines方法
-
readlines()方法讀取所有(剩余的)行,然后把他們作為一個字符串列表返回
文件迭代
- 如果需要逐行處理文件,可以結(jié)合
for循環(huán)迭代文件 - 迭代文件的方法與處理其他序列類型的數(shù)據(jù)類似
文件輸出
write方法
-
write()內(nèi)建方法功能與read()和readline()相反,它把含有文件數(shù)據(jù)或二進制數(shù)據(jù)塊的字符串寫入到文件中去 - 寫入文件時,不會自動添加行結(jié)束標(biāo)志
\n,需要程序員手工輸入
writelines方法
- 和
readlines()一樣,writelines()方法是針對列表的操作 - 接受一個
字符串列表作為參數(shù),將他們寫入到文件 - 行結(jié)束符并不會被自動加入,所以如果需要的話,必須在調(diào)用
writelines()前給每行結(jié)尾加上行結(jié)束符