python文件操作的簡單方法總結(jié)
更新時間:2019年11月07日 08:09:56 作者:flag_hw
在本篇文章里小編給大家整理的是關(guān)于python文件操作的簡單方法知識點,有需要的朋友們可以學(xué)習(xí)下。
文件操作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é)果:
復(fù)制代碼
->文件句柄的獲取,讀操作: 昨夜星辰昨夜風(fēng) 畫樓西畔桂堂東 身無彩鳳雙飛翼 心有靈犀一點通 ->例二: 昨夜星辰昨夜風(fēng) 畫
以上方法很簡單,感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
基于Mediapipe+Opencv實現(xiàn)手勢檢測功能
mediaPipe,他就是一個集成好的包括人臉關(guān)鍵位點識別、身體關(guān)鍵位點識別、手部關(guān)鍵位點識別的一個包或者庫,直接調(diào)用就能夠得到它的關(guān)鍵位點信息,本文給大家介紹Mediapipe+Opencv實現(xiàn)手勢檢測功能,感興趣的朋友一起看看吧2022-01-01Python collections.defaultdict模塊用法詳解
這篇文章主要介紹了Python collections.defaultdict模塊用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06Python多進程入門、分布式進程數(shù)據(jù)共享實例詳解
這篇文章主要介紹了Python多進程入門、分布式進程數(shù)據(jù)共享,結(jié)合實例形式詳細分析了Python進程操作技巧數(shù)據(jù)共享相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下2019-06-06Python編程實現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)算法示例
這篇文章主要介紹了Python編程實現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)算法,結(jié)合實例形式分析了神經(jīng)網(wǎng)絡(luò)算法的原理及Python相關(guān)算法實現(xiàn)技巧,需要的朋友可以參考下2018-01-01基于PyTorch實現(xiàn)一個簡單的CNN圖像分類器
本文記錄了一個簡單的基于pytorch的圖像多分類器模型構(gòu)造過程,參考自Pytorch官方文檔、磐創(chuàng)團隊的《PyTorch官方教程中文版》以及余霆嵩的《PyTorch 模型訓(xùn)練實用教程》。從加載數(shù)據(jù)集開始,包括了模型設(shè)計、訓(xùn)練、測試等過程。2021-05-05