1. 檔案操作的函式open(檔名(路徑), mode="?", encoding="字符集")
需要注意encoding表⽰編碼集. 根據⽂件的實際儲存編碼進行獲取資料, 對於我們⽽⾔. 更多的是utf-8.
2. 模式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b
r 唯讀需要注意encoding表示編碼集. 根據檔案的實際儲存編碼進行獲取資料, 對於我們⽽言. 更多的是utf-8.w 只寫
a 追加
r+ 讀寫
w+ 寫讀
a+ 追加寫讀
b 處理非文字檔案
rb 唯讀位元組
wb 只寫位元組
ab 追加位元組
rb. 讀取出來的資料是bytes型別, 在rb模式下. 不能選擇encoding字符集.
絕對路徑和相對路徑:
1. 絕對路徑:從磁碟根⽬錄開始一直到檔名.
2. 相對路徑:同⼀個⽂件夾下的檔案.相對於當前這個程式所在的⽂件夾⽽言.如果在同乙個⽂件夾中. 則相對路徑就是這個檔名. 如果在上一層資料夾. 則要../
我們更推薦大家使⽤相對路徑. 因為在我們把程式拷貝給別人使⽤的時候. 直接把項⽬拷⻉走就能運行. 但是如果用絕對路徑. 那還需要拷⻉外部的⽂件.
讀取⽂件的方法(r,rb):
1. read() 將檔案中的內容全部讀取出來. 弊端: 佔記憶體. 如果⽂件過大.容易導致記憶體崩潰
2. read(n)讀取n個字元.需要注意的是.如果再次讀取.那麼會在當前位置繼續去讀⽽不是從頭讀, 如果使用的是rb模式. 則讀取出來的是n個位元組
3. readline() ⼀次讀取⼀⾏資料, 注意: readline()結尾, 注意每次讀取出來的資料都會有⼀個\n 所以呢. 需要我們使⽤strip()⽅法來去掉\n或者空格
4. readlines()將每一⾏形成⼀個元素,放到⼀個列表中.將所有的內容都讀取出來.所以也是. 容易出現記憶體崩潰的問題.不推薦使⽤
5. 迴圈讀取.這種⽅式是最好的.每次讀取⼀⾏內容.不會產生記憶體溢位的問題.
注意: 讀取完的⽂件控制代碼⼀定要關閉 close()
寫模式(w, wb)
1.寫的時候注意. 如果沒有檔案. 則會建立⽂件, 如果⽂件存在. 則將原件中原來的內容刪除, 再 寫入新內容
2.wb模式下. 可以不指定開啟檔案的編碼. 但是在寫⽂件的時候必須將字串轉化成utf-8的 bytes資料
追加(a, ab)
1.在追加模式下. 我們寫入的內容會追加在⽂件的結尾.
讀寫模式(r+, r+b)
對於讀寫模式. 必須是先讀. 因為預設游標是在開頭的. 準備讀取的. 當讀完了之後再進⾏寫入. 我們以後使⽤頻率最⾼的模式就是r+
所以記住: r+模式下. 必須是先讀取. 然後再寫入
寫讀(w+, w+b)
先將所有的內容清空. 然後寫入. 最後讀取. 但是讀取的內容是空的, 不常⽤
追加讀(a+)
a+模式下, 不論先讀還是後讀. 都是讀取不到資料的.
3. 常用的操作seek(n) 游標移動到n位置, 注意, 移動的單位是byte. 所以如果是utf-8的中文部分要是3的倍數.1. 游標(seek)*
seek(0) 開頭
seek(0,2) 結尾
通常我們使用seek都是移動到開頭或者結尾.
移動到開頭: seek(0)
移動到結尾: seek(0,2) seek的第二個參數列⽰的是從哪個位置進⾏偏移, 預設是0, 表⽰開頭, 1表示當前位置, 2表⽰結尾
3. truncate()截斷⽂檔案
深坑請注意: 在r+模式下. 如果讀取了內容. 不論讀取內容多少. 游標顯⽰的是多少. 在寫入或者操作檔案的時候都是在結尾進⾏的操作.
所以如果想做截斷操作. 記住了. 要先挪動游標. 挪動到你想要截斷的位置. 然後再進⾏截斷
關於truncate(n), 如果給出了n. 則從開頭開頭進⾏截斷, 如果不給n, 則從當前位置截斷. 後⾯的內容將會被刪除
2. tell() 游標的位置深坑請注意: 在r+模式下. 如果讀取了內容. 不論讀取內容多少. 游標顯⽰的是多少. 在寫入或者操作檔案的時候都是在結尾進⾏的操作.tell()使用 tell()可以幫我們獲取到當前游標在麼位置
3. truncate 截斷檔案
所以如果想做截斷操作. 記住了. 要先挪動游標. 挪動到你想要截斷的位置. 然後再進⾏截斷
關於truncate(n), 如果給出了n. 則從開頭開頭進⾏截斷, 如果不給n, 則從當前位置截斷. 後⾯的內容將會被刪除
4. 修改檔案修改⽂件以及另⼀種開啟檔案的方式1. 引入os模組
2. 開啟目標檔案, r
3. 開啟檔案副本, w
4. 從r中讀取內容進行修改. 寫入到副本中
5. 刪除原始檔
6. 重新命名副本
⽂件修改: 只能將檔案中的內容讀取到記憶體中, 將資訊修改完畢, 然後將源⽂件刪除, 將新⽂件的名字改成老⽂件的名字.
python 檔案操作 讀,寫,追加
open 檔案的路徑,開啟檔案的方式,開啟的檔案編碼 檔案的路徑 可以使用絕對路徑,也可以使用相對路徑 建議使用相對路徑 開啟檔案的方式 訪問檔案的方式 r 唯讀方式開啟檔案,檔案的執政會放在檔案開頭,如果檔案不存在就會報錯 w 開啟乙個檔案只用於寫入,如果這個檔案已存在,就將檔案替換,如果檔案不存...
Python 檔案操作(讀 寫 追加 檔案指標)
一 檔案操作主要有讀r 讀寫r 寫w 寫讀w 追加a 追加讀a 幾種模式 1 讀模式r 讀寫模式r 1 不能寫 2 檔案不存在的話會報錯 f.open username.txt encoding utf 8 以讀的方式開啟檔案,windows下要加encoding要不然會報錯 python3中只有o...
Python中的檔案IO操作(讀寫檔案 追加檔案)
python中檔案的讀寫包含三個步驟 開啟檔案,讀 寫檔案,關閉檔案。檔案開啟之後必須關閉,因為在磁碟上讀寫檔案的功能是由作業系統提供的,檔案作為物件,被開啟後會占用作業系統的資源,而作業系統在同一時間內開啟檔案的數量是有限的。開啟檔案 python view plain copy f open 路...