python進階一(檔案的處理方式)
阿新 • • 發佈:2018-12-04
一、檔案操作方法:
檔案操作的結果都是str,需要將 str轉化為 python 的物件才能後續進行操作。
1、open(‘檔案的路徑’,‘檔案的開啟方式’,encoding = 檔案的編碼格式):
① 該方法為需要關閉檔案: 檔案控制代碼.close()。
② 如果以二進位制方式處理不需要加編碼格式。常用於儲存 音樂與圖片。
③檔案控制代碼只能遍歷一次。
注意: 檔案控制代碼 只能列印一次 f = open('111.txt','r',encoding='gbk') # 預設為系統的編碼格式 print(f.read()) # 讀取全部 print(f.readlines()) # 將所有內容 列印為列表,每一行文字作為列表的每一個元素。 print(f.readline()) # 列印一行 , 類似迭代器中的 .__next__() ,一行一行讀取。 print(f.readline()) for i in f.readlines(): # for迴圈readines的列表 列印全部,相當於 f.read() print(i) for i in f: # 迴圈列印全部 print(i) # 結果 f.close() # 檔案讀取結束
(1)檔案的路徑:相對路徑 、絕對路徑。
(2)檔案開啟的方式:
1、w 寫模式,它是不能讀的,如果用w模式開啟一個已經存在的檔案,會清空以前的檔案內容,重新寫
w+ 是讀寫內容,只要沾上w,肯定會清空原來的檔案
2、r 讀模式,只能讀,不能寫,而且檔案必須存在
r+ 是讀寫模式,只要沾上r,檔案必須存在
3、a 追加模式,也能寫,在檔案的末尾新增內容
4、rb+、wb+、ab+,這種是二進位制模式開啟或者讀取,一些音樂檔案
2、with open(‘檔案的路徑’,‘檔案的開啟方式’,encoding = 檔案的編碼格式) as f:
①不用關閉檔案,系統自動關閉。
讀
with open('test1.txt','r+') as file:
for line in file:
print('line裡面存放的是:',line) # 迴圈列印檔案中每一行內容
print(type(line)) # <class 'str'> 型別是字串
寫
with open('222.txt','wb') as file1:
f = open('111.txt', 'rb')
file1.write(f.read())
f.close() # 關閉 檔案控制代碼 f