我是一個學習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') # 讀取方式變?yōu)閌r+`
file = f.read()
f1 = f.read()
f.close()
當讀取方式為r+
時蝙砌,文件可以被寫入,但是打印出來的是寫入前所讀取的
二進制讀 rb
代碼略去跋理,文件以二進制的模式讀取择克。
剩下的我將以表格形式統(tǒng)一展現(xiàn),可以參照對比以上代碼
讀取方式 | 補充 |
---|---|
r | 只讀前普,不可被修改 |
r+ | 讀寫肚邢,光標在前,從第一個位置開始修改,打印出修改的字符數(shù) |
rb | 以byte 方式讀取 |
w | 只寫骡湖,若寫入的目標文件沒有贱纠,則創(chuàng)建,有則清空再寫入 |
wb | 轉換為byte 類型寫入 |
a | 打開文件响蕴,把光標移動到有文字的后面谆焊,再進行追加 |
ab | 以byet 類型加入 |
注
:r+
有兩個表現(xiàn),一個是讀寫
浦夷,還有一個是寫讀
辖试。需要注意。另劈狐,w+
和a+
我沒有寫罐孝,是因為學習階段用的相對來說較少
讀取功能
我先以表格形式展示,再進行詳解
讀取方式 | 用于場合 |
---|---|
read() | 以字符讀肥缔,可添加參數(shù)(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,一起交流互助學習熙兔。 若不能分享群悲伶,請審核者信息告知我。
下篇文章還有練習