python檔案操作的簡單方法總結
阿新 • • 發佈:2020-01-09
檔案操作1
#檔案操作流程:1、開啟檔案,得到一個檔案控制代碼;通過檔案控制代碼操作檔案;關閉檔案。 #將檔案開啟檔案賦給file1,test_file為檔名,utf-8為檔案編碼;file1是檔案的全量內容 data1 = open("test_file",encoding="utf-8").read() print(data1) #開啟檔案,獲取檔案控制代碼file2,後續通過file2這個檔案控制代碼對檔案進行各種操作方法,預設檔案以只讀模式開啟,只讀時不能對檔案進行寫操作 file2 = open("test_file","r",encoding="utf-8") #一次將檔案內容全部讀取 date2 = file2.read() #"w"是以寫模式開啟檔案,此模式會先清空檔案內容,此時不能對檔案進行讀操作 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",encoding="utf-8") for i in range(5): print(file5.readline()) #下面將檔案控制代碼直接進行迭代,檔案控制代碼也是迭代器 for line in file5: print(line)
檔案操作2
#返回當前檔案操作的位置資訊,返回的是字元的數量 print(file5.tell()) #手工移動檔案操作的當前位置,位置資訊為seek的實參 file5.seek(10) #輸出檔案當前編碼,即開啟時使用的編碼 print(file5.encoding) #輸出檔名稱 print(file5.name) #判斷檔案是否可讀,返回布林型別,與檔案開啟時指定的開啟模式相關 print(file5.readable()) #判斷檔案是否可寫,返回布林型別,與檔案開啟時指定的開啟模式相關 print(file5.writable()) #將檔案寫的內容強制刷到硬碟 file5.flush() #判斷檔案是否關閉,返回布林型別 print(file5.closed) #預設清空檔案內容,傳遞實參的話就是從檔案開頭截斷多少字元,總是從檔案開頭開始截斷,不論當前檔案讀寫所處的位置 #file5.truncate() #檔案讀寫模式“r+”,讀是從檔案開頭讀,寫是從檔案末尾往後寫,操作檔案位置指標是讀的位置,只能繼續往檔案後面追加寫 #檔案寫讀模式“w+”,先建立新檔案然後寫,寫了以後可以讀。操作檔案位置指標是讀的位置,只能繼續往檔案後面追加寫 #以二進位制讀取檔案“rb”,開啟檔案時沒有encoding這個引數 file6 = open("binary_file","wb") #二進位制模式開啟檔案向寫入時需要將字串轉換為二進位制,否則寫報錯 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",encoding="utf-8") file8 = open("test_file4_new",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('無題',encoding='utf8') e = f.read(9) f.close() print(e) #python3中,檔案中一箇中英文都佔位1
執行結果:
複製程式碼
->檔案控制代碼的獲取,讀操作: 昨夜星辰昨夜風 畫樓西畔桂堂東 身無綵鳳雙飛翼 心有靈犀一點通 ->例二: 昨夜星辰昨夜風 畫
以上方法很簡單,感謝大家的學習和對我們的支援。