我是一個學習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,一起交流互助學習。 若不能分享羣,請審覈者信息告知我。
下篇文章還有練習