1. 程式人生 > >Python—語法基礎(10) 文件

Python—語法基礎(10) 文件

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) 文件