自學Python之:文件操作(絕對找不到這麼完整的教程) 文件讀取類型 讀取功能 文件讀取方式

我是一個學習Python初學者,近期剛學完文件操作。特地分享
文章分爲兩部分,第一部分爲文件讀取類型以及讀取的方式,第二部分爲練習題

文件讀取類型

文件讀取的操作方式有以下幾種:只讀,只寫,追加,讀寫,寫讀

只讀 r

f = open('test',mode='r',encoding='utf-8')  # 打開文件,讀取方式爲`r`,編碼爲UTF-8
f1 = f.read() # 讀取文件
print(f1) #打印文件
f.close() # 關閉文件

只讀類型下,文件不能被修改

讀寫 r+

f = open('test',mode='rb',encoding='utf-8') # 讀取方式變爲`r+`
file = f.read()
f1 = f.read()
f.close()

當讀取方式爲r+時,文件可以被寫入,但是打印出來的是寫入前所讀取的

二進制讀 rb
代碼略去,文件以二進制的模式讀取。

剩下的我將以表格形式統一展現,可以參照對比以上代碼

讀取方式 補充
r 只讀,不可被修改
r+ 讀寫,光標在前,從第一個位置開始修改,打印出修改的字符數
rb byte方式讀取
w 只寫,若寫入的目標文件沒有,則創建,有則清空再寫入
wb 轉換爲byte類型寫入
a 打開文件,把光標移動到有文字的後面,再進行追加
ab byet類型加入

:r+有兩個表現,一個是讀寫,還有一個是寫讀。需要注意。另,w+a+我沒有寫,是因爲學習階段用的相對來說較少

讀取功能

我先以表格形式展示,再進行詳解

讀取方式 用於場合
read() 以字符讀,可添加參數(I),讀前i個字符
seek() 調整光標位置
tell() 調整光標位置,需放置於seek()
readline() 一行一行的讀
readlines() 將每一行當成列表中元素讀取,換行自帶 \n
truncate() 截取一段讀出來,從後往前讀

例如有一個名爲test的文件,文件內容如下:

456926667

這是一個長爲10個字符的字符串

f = open('test',mode='r',encoding='utf-8')  # 打開文件,讀取方式爲`r`,編碼爲UTF-8
f1 = f.read(5) # 讀取文件中前5個字符
print(f1) #打印文件
f.close() # 關閉文件

打印結果爲

45692

f = open('test',mode='w',encoding='utf-8')  # 打開文件,讀取方式爲`w`,編碼爲UTF-8
f1 = f.seek()
print(f1) #打印第五個字符
f.close() # 關閉文件

打印結果爲

2

剩下的我就不一一做演示,有需要可以自己試一試

文件讀取方式

f = open('test',mode='w',encoding='utf-8')  

此文件讀取方式,僅能讀取一個文件,另外代碼多

with open('test',mode='w',encoding='utf-8') as f:
      pass

此文件讀取方式,能同時讀取多個文件,且代碼量相對來說少

當需要同時操作兩個或兩個文件以上時,with open 方法會相對來說簡易許多

今天的文件筆記就先暫時分享到這,如果你也是剛剛一起學習的,可以添加我的羣 456926667,一起交流互助學習。 若不能分享羣,請審覈者信息告知我。
下篇文章還有練習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章