Python—語法基礎(10) 文件
阿新 • • 發佈:2018-08-12
off exist 字節流 所有 not ron error set lin
文件:存儲在輔助存儲器上的數據序列,有文本文件和二進制文件兩種展示形態。
- 本質上,所有文件都是二進制形式存儲
- 形式上,所有文件采用兩種方式展示
文本文件:
- 單一特定編碼(如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) 文件