1. 程式人生 > >python進階一(檔案的處理方式)

python進階一(檔案的處理方式)

一、檔案操作方法:

                          檔案操作的結果都是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