標籤:模式 erro 文本操作 變數 二進位 str 指標 檔案內容 儲存
檔案:儲存在輔助儲存空間上的資料序列,有文字檔和二進位檔案兩種展示形態。
- 本質上,所有檔案都是二進位形式儲存
- 形式上,所有檔案採用兩種方式展示
文字檔:
- 單一特定編碼(如utf-8編碼)組成的檔案
- 由於存在編碼,也被看成是儲存著的長字串
- 適用於例如:.txt檔案、.py檔案等
二進位檔案:
- 直接由位元0和1組成,沒有統一字元編碼
- 一般存在二進位0和1的組織圖,即檔案格式
- 適用於例如:.png檔案、.avi檔案等
開啟檔案:<變數名> = open(<檔案路徑><檔案名稱>, <開啟模式>)關閉檔案:<變數名>.close()f="file_path/file_name.txt" # 指定檔案路徑和檔案名稱tf = open("f", "rt") # 文本形式開啟檔案print(tf.readline()) # 列印檔案內容tf.close() # 關閉檔案bf=open("f", "rb") # 二進位形式開啟檔案 檔案的開啟模式:‘r‘ 唯讀模式,預設值,如果檔案不存在,返回FileNotFoundError‘w‘ 覆蓋寫入模式,檔案不存在則建立,存在則完全覆蓋‘x‘ 建立寫入模式,檔案不存在則建立,存在則返回FileExistsError‘a‘ 追加寫入模式,檔案不存在則建立,存在則在檔案最後追加內容‘b‘ 二進位檔案模式‘t‘ 文字檔模式,預設值‘+‘ 與r/w/x/a一同使用,在原功能基礎上增加同時讀寫功能 檔案內容的讀取:<f>.read(size=-1) # 讀入全部內容,如果給出參數,讀入前size長度<f>.readline(size=-1) # 讀入一行內容,如果給出參數,讀入該行前size長度<f>.readlines(hint=-1) # 讀入檔案所有行,以每行為元素形成列表,如果給出參數,讀入前hint行檔案的全文本操作:方法一:一次讀入,統一處理fo = open(fname,"r")txt = fo.read()#對全文txt進行處理fo.close()方法二:按數量讀入,逐步處理fo = open(fname,"r")txt = fo.read(2)while txt != "": #對txt進行處理 txt = fo.read(2)fo.close()檔案的逐行操作:方法一:一次讀入,分行處理fo = open(fname,"r")for line in fo.readlines(): print(line)fo.close()方法二:分行讀入,逐行處理fo = open(fname,"r")for line in fo: print(line)fo.close()資料的檔案寫入:<f>.write(s) # 向檔案寫入一個字串或位元組流<f>.writelines(lines) # 將一個元素全為字串的列表寫入檔案<f>.seek(offset) # 改變當前檔案操作指標的位置,offset含義如下:0 – 檔案開頭; 1 – 當前位置; 2 – 檔案結尾
Python—文法基礎(10) 檔案