檔案操作(補充)
阿新 • • 發佈:2021-11-11
內容概要
- 讀寫模式之---a模式
- 檔案操作的相關方法
- 檔案操作模式
- 檔案操作程式碼練習題
- 檔案內游標的移動及檔案修改
內容詳細
1.讀寫模式之---a模式
a 模式 # 只追加模式
# 路徑不存在自動建立
eg:
with open(r'a.txt','a',encoding='utf8') as f:
pass
# 路徑存在 不會清空檔案 但會在檔案末尾新增內容
with open(r'a.txt', 'a', encoding='utf8') as f:
f.write('今天週四了 馬上又要週末放假啦')
""" 總結: 我們所瞭解的r w a讀寫模式都只能操作文字檔案 """
2.檔案操作方法
檔案操作方法 # 1.讀系列 with open(r'a.txt, 'r', encoding='utf8') as f: print(f.read()) # 一次性讀取檔案內所有內容 print(f.readline()) # 每次只讀檔案一行內容 print(f.readlines()) # 讀取檔案所有的內容 組織成列表 每個元素是檔案的每行內容 print(f.readable()) # 判斷當前檔案是否具備讀的能力 # 2.寫系列 with open(r'a.txt','w',encoding='utf8') as f: f.write('克服一切困難 奧利給!') # 往檔案內寫入文字內容 f.write(123) # 寫入的內容必須是字串型別 f.writelines(['jason','kevin','tony']) # 可以將列表中多個字串元素全部寫入 print(f.writable()) # True print(f.readable()) # False f.flush() # 直接將記憶體內檔案資料刷到硬碟 相當於ctrl+s
3.檔案優化操作
with open(r'a.txt', 'r', encoding='utf8') as f: print(f.read()) # 一次性讀取檔案內所有的內容 print(f.read()) print(f.read()) """ 1.一次性讀完之後 游標停留在了檔案末尾 無法再次讀取內容 2.該方法在讀取大檔案的時候 可能會造成記憶體溢位的情況 解決上述問題的策略就是逐行讀取檔案內容 """ # for line in f: # 檔案變數名f支援for迴圈 相當於一行行讀取檔案內容 ''' 以後涉及到多行檔案內容的情況一般都是採用for迴圈讀取 '''
4.檔案操作模式
# t 文字模式
1.預設的模式
r w a 實際上就是>>> rt wt at
2.該模式所有操作都是以字串基本單位(文字)
3.該模式必須要指定encoding引數
4.該模式只能操作文字檔案
# b 二進位制模式
1.該模式可以操作任意型別的檔案
2.該模式所有操作都是以bytes型別(二進位制)基本單位
3.該模式不需要指定encoding引數
rb wb ab