這篇文章將為大家詳細(xì)講解有關(guān)python中各種文件打開模式的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的沿灘網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!在python中,總的來說有三種大的模式打開文件,分別是:a, w, r
當(dāng)以a模式打開時(shí),只能寫文件,而且是在文件末尾添加內(nèi)容。
當(dāng)以a+模式打開時(shí),可以寫文件,也可讀文件,可是在讀文件的時(shí)候,會發(fā)現(xiàn)讀出來的數(shù)據(jù)為空,是因?yàn)閍+模式是在文件末尾添加內(nèi)容,所以其指針已經(jīng)指到了文件末尾,所以讀出來的數(shù)據(jù)就是空的。
# 在文件末尾添加數(shù)據(jù) f = open('test.txt','a+') f.write('test') f.close() # 讀出數(shù)據(jù)為空 f = open('test.txt','a+') print(f.read()) # 讀出數(shù)據(jù) f = open('test.txt','a+') f.seek(0) # 將指針移動到首個(gè)字符前 print(f.read())
當(dāng)以w模式打開時(shí),只能寫文件,而且會直接將之前的數(shù)據(jù)給丟失。
當(dāng)以w+模式,可讀可寫,但是如果想讀取的內(nèi)容的話,只能在寫內(nèi)容的時(shí)候,同時(shí)讀取其中的內(nèi)容,相當(dāng)于只能讀取出你剛剛寫入的內(nèi)容,沒有意義
f = open('test.txt', 'w+') f.write('我不會喜歡你') f.seek(0) print(f.read()) f.close()
當(dāng)以r模式打開文件時(shí),只能讀取文件。
當(dāng)以r+模式打開文件時(shí),可讀可寫文件。如果是讀取文件,會從首個(gè)字符開始讀取數(shù)據(jù),如果是以該模式打開文件,就寫數(shù)據(jù),則會從首個(gè)字符開始寫,并一個(gè)一個(gè)字符的向后面覆蓋。如果想從末尾添加內(nèi)容,則可先read()然后在向其中添加數(shù)據(jù)。
# 第一次寫入內(nèi)容 f = open('test.txt', 'r+') f.write('我不會喜歡你') # 內(nèi)容為:我不會喜歡你 f.close() # 第二次寫入 f = open('test.txt', 'r+') f.write('其實(shí)我') f.close() # 內(nèi)容為: 其實(shí)我喜歡你 # 第三次寫入 f = open('test.txt', 'r+') print(f.read()) # 內(nèi)容為: 其實(shí)我喜歡你 f.write(', I love you') f.close() # 內(nèi)容為: 其實(shí)我喜歡你, I love you
自我感覺r+模式可以多加應(yīng)用。
ps:下面看下python文件打開的幾種訪問模式
訪問模式 | 說明 |
---|---|
r | 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認(rèn)模式。 |
w | 打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。 |
a | 打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。 |
rb | 以二進(jìn)制格式打開一個(gè)文件用于只讀。文件指針將會放在文件的開頭。這是默認(rèn)模式。 |
wb | 以二進(jìn)制格式打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。 |
ab | 以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。 |
r+ | 打開一個(gè)文件用于讀寫。文件指針將會放在文件的開頭。 |
w+ | 打開一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。 |
a+ | 打開一個(gè)文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結(jié)尾。文件打開時(shí)會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。 |
rb+ | 以二進(jìn)制格式打開一個(gè)文件用于讀寫。文件指針將會放在文件的開頭。 |
wb+ | 以二進(jìn)制格式打開一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。 |
ab+ | 以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。 |
關(guān)于“python中各種文件打開模式的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。