本節主要內容:1. 初識⽂件操作2. 只讀(r, rb)3. 只寫(w, wb)4. 追加(a, ab)5. r+讀寫6. w+寫讀7. a+寫讀(追加寫讀)8. 其他操作⽅法9. ⽂件的修改以及另⼀種打開⽂件句柄的⽅式 主要內容:⼀. 初識⽂件操作使⽤python來讀寫⽂件是⾮常簡單的操作. 我們 ...
本節主要內容:
1. 初識⽂件操作
2. 只讀(r, rb)
3. 只寫(w, wb)
4. 追加(a, ab)
5. r+讀寫
6. w+寫讀
7. a+寫讀(追加寫讀)
8. 其他操作⽅法
9. ⽂件的修改以及另⼀種打開⽂件句柄的⽅式
主要內容:
⼀. 初識⽂件操作
使⽤python來讀寫⽂件是⾮常簡單的操作. 我們使⽤open()函數來打開⼀個⽂件, 獲取到⽂
件句柄. 然後通過⽂件句柄就可以進⾏各種各樣的操作了. 根據打開⽅式的不同能夠執⾏的操
作也會有相應的差異.
打開⽂件的⽅式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默認使⽤的是r(只讀)模式
⼆. 只讀操作(r, rb)
絕對路徑和相對路徑:
1. 絕對路徑:從磁碟根⽬錄開始⼀直到⽂件名.
2. 相對路徑:同⼀個⽂件夾下的⽂件. 相對於當前這個程序所在的⽂件夾⽽⾔. 如果在同
⼀個⽂件夾中. 則相對路徑就是這個⽂件名. 如果在上⼀層⽂件夾. 則要../
讀取文件的方法:
f.read(n) n--->>>>n個字元 如果是rb,則n指位元組
將文件全部讀取出來,弊端是,占記憶體,如果文件過大,會導致記憶體崩潰.
f.readline() 一行一行的讀,但是讀出來的結尾會有一個\n,需要我們用strip()去掉
註意: 讀取完的文件句柄一定要關掉 f.close()
三. 寫模式(w, wb)
寫的時候註意. 如果沒有⽂件. 則會創建⽂件, 如果⽂件存在. 則將原件中原來的內容刪除, 再
寫入新內容
追加模式,a 寫入的內容會加在結尾.
五. 讀寫模式(r+, r+b)
對於讀寫模式. 必須是先讀. 因為默認游標是在開頭的. 準備讀取的. 當讀完了之後再進⾏
寫入. 我們以後使⽤頻率最⾼的模式就是r+
還有寫讀(w+),追加讀(a+)等不常用,可以自己瞭解下
其他操作:
1. seek(n) 游標移動到n位置, 註意, 移動的單位是byte. 所以如果是UTF-8的中⽂部分要
是3的倍數.
通常我們使⽤seek都是移動到開頭或者結尾.
移動到開頭: seek(0)
移動到結尾: seek(0,2) seek的第⼆個參數表⽰的是從哪個位置進⾏偏移, 默認是0, 表
⽰開頭, 1表⽰當前位置, 2表⽰結尾
2. tell() 使⽤tell()可以幫我們獲取到當前游標在什麼位置
顯示的是位元組數,中文就是3的倍數
3. truncate() 截斷⽂件
深坑請註意: 在r+模式下. 如果讀取了內容. 不論讀取內容多少. 游標顯⽰的是多少. 再寫入
或者操作⽂件的時候都是在結尾進⾏的操作.
所以如果想做截斷操作. 記住了. 要先挪動游標. 挪動到你想要截斷的位置. 然後再進⾏截斷
關於truncate(n), 如果給出了n. 則從開頭開頭進⾏截斷, 如果不給n, 則從當前位置截斷. 後⾯
的內容將會被刪除
九. 修改⽂件以及另⼀種打開⽂件的⽅式
⽂件修改: 只能將⽂件中的內容讀取到記憶體中, 將信息修改完畢, 然後將源⽂件刪除, 將新
⽂件的名字改成老⽂件的名字