python第七週,檔案和資料型別
阿新 • • 發佈:2019-01-11
文字檔案和二進位制檔案只是檔案的展示方式,本質上,多有檔案都是二進位制形式儲存
文字檔案例如:.txt .py
二進位制檔案例如 : .png .avi
檔案的開啟與關閉:
s = open ( , )
s = close()
<變數名> = open(<檔名>,<開啟模式>)
檔案路徑和名稱: "D:/PYE/f.txt"或"D:\\PYE\\f.txt",如果原始檔同目錄可省略路徑
檔案的開啟模式 | 描述 |
'r' |
只讀模式,預設值,如果檔案不存在,返回FileNotFpundError |
'w' | 覆蓋寫模式,檔案不存在則建立,存在則完全覆蓋 |
'x' | 建立寫模式,檔案不存在則建立,存在則返回FileExistsError |
'a' | 追加寫模式,檔案不存在則建立,存在則在檔案最後追加內容 |
'b' | 二進位制檔案模式 |
't' | 文字檔案模式,預設值 |
'+' | 與r/w/x/a一同使用,在原功能基礎上增加同事讀寫功能 |
例如: f = open("f.txt","rt") 文字模式,只讀模式
檔案內容的讀取
<f>.read(size = -1) |
讀入全內容,如果給出引數,讀入前size長度 >>>s = f,read(2) |
<f>.readline(size=-1) | 讀入一行內容,如果給出引數,讀入該行前size長度 |
<f>.readlines(hint=-1) | 讀入檔案所有行,以每行為元素形成列表,如果給出引數,讀入前hint行 |
#遍歷全文字,方法一,一次讀入,統一處理
fname = input("請輸入要開啟的檔名稱")
fo = open (fname,"r")
txt = fo.read()
#對全文txt進行處理
fo.close()
#遍歷全文字 方法二,按數量讀入,逐一處理 fname = input("請輸入要開啟的檔名稱") fo = open (fname,"r") txt = fo.read(2)】 while txt !="": #對txt進行處理 txt= fo.read(2) fo.close()
#檔案的逐行操作,方法一,一次讀入分行處理
fname = input("請輸入要開啟的檔名稱")
fo = open (fname,"r")
for line in fo.radlines():
print(line)
fo.close()
#逐行遍歷檔案,方法二,分行讀入
fname = input("請輸入要開啟的檔名稱")
fo = open (fname,"r")
for line in fo:
print(line)
fo.close()
資料的檔案寫入
操作方法 | 描述 |
<f>.write(s) |
向檔案寫入一個字串或位元組流 |
<f>.writeliner(lines) | 將一個元素全為字串的列表寫入檔案,寫入後沒有分隔符 |
<f>.seek(offset) | 改變當前檔案操作指標的位置, o-檔案開頭 1-當前位置 2 =檔案結尾 |
#資料的檔案寫入
fo = open("output.txt","w+")
ls = ["中國","法國","美國"]
fo,writelines(ls)
fo.seek(0)
fo line in fo :
print(line)
fo.close()