Python之文件類型

一、打開文件操作
變量名=open(磁盤文件名,打開模式)
打開模式有一下幾種:
r 只讀。如果文件不存在,則輸出錯誤
w 只寫,如果文件不存在,則自動創建文件
a 表示附加到文件末尾
rb 只讀二進制文件。如果文件不存在,則輸出錯誤
wb 只寫二進制文件。如果文件不存在,則自動創建文件
ab 附加到二進制文件末尾。
r+ 讀寫

打開一個名爲“music.mp3”的音頻文件:

infile=open("music.mp3","rb")

打開一個名爲“numbers.dat”的文本文件:

infile=open("numbers.dat","r")

二、文件讀取
read() 返回值包含整個文件內容的一個字符串
readline() 返回值爲文件下一行內容的字符串
readlines() 返回值爲整個文件內容的列表,每項是以換行符爲結尾的一行

將文件內容輸出到屏幕上:

def main():
    fname=input("Enter filename:")
    infile=open(fname,"r")
    data=infile.read()
    print(data)
main()

輸出文件前五行內容:

infile=open(someFile,"r")
for i in range(5):
    line=infile.readline()
    print(line[:-1])

三、寫入文件
write() 把含有文本數據或二進制數據塊的字符串寫入文件中
writelines() 針對列表操作,接受一個字符串列表作爲參數,將他們寫入文件
例如:

outfile=open("outfile.txt","w")
outfile.writelines(["Hello","","world"])
outfile.close()
infile=open("outfile.txt","r")
infile.read()

運行結果:

Hello world

四、遍歷文件模版
通用代碼框架:

file=open(someFile,"r")
for line in file.readlines():
    #處理一行文件內容
file.close()

簡化代碼框架:

file=open(someFile,"r")
for line in file:
    #處理一行文件內容
file.close()

五、文件拷貝

def main():
    #用戶輸入文件名
    f1=input("Enter a source file:").strip()
    f2=input("Enter a source file:").strip()
    #打開文件
    infile=open(f1,"r")
    outfile=open(f2,"w")
    #拷貝數據
    countLines=countChars=0
    for line in infile:
        countLines+=1
        countChars+=len(line)
        outfile.write(line)
    print(countLines,"lines and",countChars,"chars copied")
    infile.close()
    outfile.close()
main()
發佈了32 篇原創文章 · 獲贊 30 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章