python文件操作的簡(jiǎn)單方法總結(jié)
更新時(shí)間:2019年11月07日 08:09:56 作者:flag_hw
在本篇文章里小編給大家整理的是關(guān)于python文件操作的簡(jiǎn)單方法知識(shí)點(diǎn),有需要的朋友們可以學(xué)習(xí)下。
文件操作1
#文件操作流程:1、打開文件,得到一個(gè)文件句柄;通過文件句柄操作文件;關(guān)閉文件。 #將文件打開文件賦給file1,test_file為文件名,utf-8為文件編碼;file1是文件的全量?jī)?nèi)容 data1 = open("test_file",encoding="utf-8").read() print(data1) #打開文件,獲取文件句柄file2,后續(xù)通過file2這個(gè)文件句柄對(duì)文件進(jìn)行各種操作方法,默認(rèn)文件以只讀模式打開,只讀時(shí)不能對(duì)文件進(jìn)行寫操作 file2 = open("test_file","r",encoding="utf-8") #一次將文件內(nèi)容全部讀取 date2 = file2.read() #"w"是以寫模式打開文件,此模式會(huì)先清空文件內(nèi)容,此時(shí)不能對(duì)文件進(jìn)行讀操作 file3 = open("test_file3","w",encoding="utf-8") file3.write("file3 文件寫\n") #"a"是文件追加寫模式,此時(shí)從文件末尾追加往后面寫 file4 = open("test_file","a",encoding="utf-8") file4.write("file4 文件追加寫") #逐行讀文件,readline()或直接對(duì)文件句柄進(jìn)行迭代 file5 = open("test_file","r",encoding="utf-8") for i in range(5): print(file5.readline()) #下面將文件句柄直接進(jìn)行迭代,文件句柄也是迭代器 for line in file5: print(line)
文件操作2
#返回當(dāng)前文件操作的位置信息,返回的是字符的數(shù)量 print(file5.tell()) #手工移動(dòng)文件操作的當(dāng)前位置,位置信息為seek的實(shí)參 file5.seek(10) #輸出文件當(dāng)前編碼,即打開時(shí)使用的編碼 print(file5.encoding) #輸出文件名稱 print(file5.name) #判斷文件是否可讀,返回布爾類型,與文件打開時(shí)指定的打開模式相關(guān) print(file5.readable()) #判斷文件是否可寫,返回布爾類型,與文件打開時(shí)指定的打開模式相關(guān) print(file5.writable()) #將文件寫的內(nèi)容強(qiáng)制刷到硬盤 file5.flush() #判斷文件是否關(guān)閉,返回布爾類型 print(file5.closed) #默認(rèn)清空文件內(nèi)容,傳遞實(shí)參的話就是從文件開頭截?cái)喽嗌僮址偸菑奈募_頭開始截?cái)?,不論?dāng)前文件讀寫所處的位置 #file5.truncate() #文件讀寫模式“r+”,讀是從文件開頭讀,寫是從文件末尾往后寫,操作文件位置指針是讀的位置,只能繼續(xù)往文件后面追加寫 #文件寫讀模式“w+”,先創(chuàng)建新文件然后寫,寫了以后可以讀。操作文件位置指針是讀的位置,只能繼續(xù)往文件后面追加寫 #以二進(jìn)制讀取文件“rb”,打開文件時(shí)沒有encoding這個(gè)參數(shù) file6 = open("binary_file","wb") #二進(jìn)制模式打開文件向?qū)懭霑r(shí)需要將字符串轉(zhuǎn)換為二進(jìn)制,否則寫報(bào)錯(cuò) file6.write("binary file".encode(encoding="utf-8")) #文件的修改 #方法1將文件一次全部讀取在使用replace,將這個(gè)文件修改后的值返回,不修改原文件 data4 = open("test_file4",encoding="utf-8").read() print(data4.replace("789","7788991010",2)) print(data4) #方法2逐行讀取做判斷,寫入到一個(gè)新文件 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()
知識(shí)點(diǎn)擴(kuò)展:
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中,文件中一個(gè)中英文都占位1
運(yùn)行結(jié)果:
復(fù)制代碼
->文件句柄的獲取,讀操作: 昨夜星辰昨夜風(fēng) 畫樓西畔桂堂東 身無彩鳳雙飛翼 心有靈犀一點(diǎn)通 ->例二: 昨夜星辰昨夜風(fēng) 畫
以上方法很簡(jiǎn)單,感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
相關(guān)文章
基于Mediapipe+Opencv實(shí)現(xiàn)手勢(shì)檢測(cè)功能
mediaPipe,他就是一個(gè)集成好的包括人臉關(guān)鍵位點(diǎn)識(shí)別、身體關(guān)鍵位點(diǎn)識(shí)別、手部關(guān)鍵位點(diǎn)識(shí)別的一個(gè)包或者庫(kù),直接調(diào)用就能夠得到它的關(guān)鍵位點(diǎn)信息,本文給大家介紹Mediapipe+Opencv實(shí)現(xiàn)手勢(shì)檢測(cè)功能,感興趣的朋友一起看看吧2022-01-01Python collections.defaultdict模塊用法詳解
這篇文章主要介紹了Python collections.defaultdict模塊用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享實(shí)例詳解
這篇文章主要介紹了Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享,結(jié)合實(shí)例形式詳細(xì)分析了Python進(jìn)程操作技巧數(shù)據(jù)共享相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2019-06-06Python編程實(shí)現(xiàn)的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)算法示例
這篇文章主要介紹了Python編程實(shí)現(xiàn)的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)算法,結(jié)合實(shí)例形式分析了神經(jīng)網(wǎng)絡(luò)算法的原理及Python相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01基于PyTorch實(shí)現(xiàn)一個(gè)簡(jiǎn)單的CNN圖像分類器
本文記錄了一個(gè)簡(jiǎn)單的基于pytorch的圖像多分類器模型構(gòu)造過程,參考自Pytorch官方文檔、磐創(chuàng)團(tuán)隊(duì)的《PyTorch官方教程中文版》以及余霆嵩的《PyTorch 模型訓(xùn)練實(shí)用教程》。從加載數(shù)據(jù)集開始,包括了模型設(shè)計(jì)、訓(xùn)練、測(cè)試等過程。2021-05-05