1. 程式人生 > >python第七週,檔案和資料型別

python第七週,檔案和資料型別

文字檔案和二進位制檔案只是檔案的展示方式,本質上,多有檔案都是二進位制形式儲存

文字檔案例如:.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()