這篇文章給大家分享的是有關(guān)python文件操作方法有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
網(wǎng)站設(shè)計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)收費合理;免費進行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運營了10多年的成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司。文件操作1
#文件操作流程:1、打開文件,得到一個文件句柄;通過文件句柄操作文件;關(guān)閉文件。 #將文件打開文件賦給file1,test_file為文件名,utf-8為文件編碼;file1是文件的全量內(nèi)容 data1 = open("test_file",encoding="utf-8").read() print(data1) #打開文件,獲取文件句柄file2,后續(xù)通過file2這個文件句柄對文件進行各種操作方法,默認文件以只讀模式打開,只讀時不能對文件進行寫操作 file2 = open("test_file","r",encoding="utf-8") #一次將文件內(nèi)容全部讀取 date2 = file2.read() #"w"是以寫模式打開文件,此模式會先清空文件內(nèi)容,此時不能對文件進行讀操作 file3 = open("test_file3","w",encoding="utf-8") file3.write("file3 文件寫\n") #"a"是文件追加寫模式,此時從文件末尾追加往后面寫 file4 = open("test_file","a",encoding="utf-8") file4.write("file4 文件追加寫") #逐行讀文件,readline()或直接對文件句柄進行迭代 file5 = open("test_file","r",encoding="utf-8") for i in range(5): print(file5.readline()) #下面將文件句柄直接進行迭代,文件句柄也是迭代器 for line in file5: print(line)
文件操作2
#返回當前文件操作的位置信息,返回的是字符的數(shù)量 print(file5.tell()) #手工移動文件操作的當前位置,位置信息為seek的實參 file5.seek(10) #輸出文件當前編碼,即打開時使用的編碼 print(file5.encoding) #輸出文件名稱 print(file5.name) #判斷文件是否可讀,返回布爾類型,與文件打開時指定的打開模式相關(guān) print(file5.readable()) #判斷文件是否可寫,返回布爾類型,與文件打開時指定的打開模式相關(guān) print(file5.writable()) #將文件寫的內(nèi)容強制刷到硬盤 file5.flush() #判斷文件是否關(guān)閉,返回布爾類型 print(file5.closed) #默認清空文件內(nèi)容,傳遞實參的話就是從文件開頭截斷多少字符,總是從文件開頭開始截斷,不論當前文件讀寫所處的位置 #file5.truncate() #文件讀寫模式“r+”,讀是從文件開頭讀,寫是從文件末尾往后寫,操作文件位置指針是讀的位置,只能繼續(xù)往文件后面追加寫 #文件寫讀模式“w+”,先創(chuàng)建新文件然后寫,寫了以后可以讀。操作文件位置指針是讀的位置,只能繼續(xù)往文件后面追加寫 #以二進制讀取文件“rb”,打開文件時沒有encoding這個參數(shù) file6 = open("binary_file","wb") #二進制模式打開文件向?qū)懭霑r需要將字符串轉(zhuǎn)換為二進制,否則寫報錯 file6.write("binary file".encode(encoding="utf-8")) #文件的修改 #方法1將文件一次全部讀取在使用replace,將這個文件修改后的值返回,不修改原文件 data4 = open("test_file4",encoding="utf-8").read() print(data4.replace("789","7788991010",2)) print(data4) #方法2逐行讀取做判斷,寫入到一個新文件 file7 = open("test_file4","r",encoding="utf-8") file8 = open("test_file4_new","w",encoding="utf-8") for line in file7: if "789" in line: line = line.replace("789","7788991010") file8.write(line) file7.close() file8.close()
知識點擴展:
print("->文件句柄的獲取,讀操作:") f = open('無題','r',encoding='utf8') d = f.read() f.close() print(d) print('->例二:') f = open('無題','r',encoding='utf8') e = f.read(9) f.close() print(e) #python3中,文件中一個中英文都占位1
運行結(jié)果:
->文件句柄的獲取,讀操作: 昨夜星辰昨夜風 畫樓西畔桂堂東 身無彩鳳雙飛翼 心有靈犀一點通 ->例二: 昨夜星辰昨夜風 畫
感謝各位的閱讀!關(guān)于“python文件操作方法有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。