python每日一練之讀寫txt文件

1.獲取文件操做對象 

 讀寫文件就是請求操做系統打開一個文件對象,而後經過系統提供的接口讀寫數據。windows

f = open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

上述代碼獲取了一個文件對象f,注意操做結束後,要f.close()關閉文件函數

file:文件的路徑測試

mode:文件打開模式編碼

常見的模式有spa

模式 描述
b 二進制模式
r 以只讀方式打開,指針放在文件開頭
r+ 讀寫方式打開,指針放在文件開頭
rb 已二進制打開一個文件,只讀
rb+ 二進制打開一個文件,讀寫
w 寫的方式打開一個文件,若是文件已經存在,則會被clear,若是不存在,會建立一個文件
w+ 讀寫的方式打開一個文件,若是文件已經存在,則會被clear,若是不存在,會建立一個文件
wb+ 讀寫的方式打開一個二進制文件,若是文件已經存在,則會被clear,若是不存在,會建立一個文件
a 追加的方式打開文件,若是文件已存在,指針會放在文件末尾,不然建立一個文件
a+ 追加的方式打開文件,若是文件已存在,指針會放在文件末尾,不然建立一個文件
ab+ 追加的方式打開二進制文件,若是文件已存在,指針會放在文件末尾,不然建立一個文件

buffering:設置緩衝操作系統

encoding:編碼格式指針

errors:報錯級別code

newline:區分換行符orm

closefd:傳入file參數對象

2.寫文件

a. f.write(str1) 將字符串寫入文件,返回的是寫入的字符長度

b.f.writelines(list1) 寫入一個字符串列表

寫文件時,內容會先到緩衝區,等待系統空閒或者close時纔會寫入到文件中,推薦with的寫法

l1 = [u'測試\n', 'test\n']  # 須要添加換行符
        f1.writelines(l1)

3.讀文件

a.f.read(size) 讀指定字節的內容,默認讀取文件全部內容。注意讀取到的指是str類型,若是須要運算要先進行轉換。

b. f.readline() 讀取一行,包括換行符

c. f.readlines(sizeint) 讀取全部行,而且返回列表。若給定sizeint>0,返回總和大約爲sizeint字節的行, 實際讀取值可能比 sizeint 較大, 由於須要填充緩衝區

4.其餘

f.tell() 返回指針當前位置

f.seek(offset[,whence]) 移動指針到指定位置,

offset 偏移量,能夠是負,表明從後向前移動

whence 偏移相對位置,0 開頭位置 1 當前位置 2 文件結尾位置

例如 seek(x, 0) 從開始位置位移x

seek(x, 1) 從當前位置向後位移x

seek(-x, 2) 從結尾位置向前位移x

f.truncate(size)   (存疑)從文件的首行首字符開始截斷,截斷文件爲 size 個字符,無 size 表示從當前位置截斷;截斷以後後面的全部字符被刪除,其中 windows 系統下的換行表明2個字符大小。

5.關於異常

若是文件不存在,open()函數會拋出一個IOError異常錯誤。

其餘異常待補充

相關文章
相關標籤/搜索