讀寫檔案是最常見的io操作,python內建了讀寫檔案的函式,用法和c是相容的。
在磁碟上讀寫檔案的功能都是由作業系統提供的,現在作業系統不允許普通的程式直接操作磁碟;所以,讀寫檔案就是請求作業系統開啟乙個檔案物件(通常稱為檔案描述符);然後,通過作業系統提供的介面從這個檔案物件中讀取資料(讀檔案),或者把資料寫入這個檔案物件(寫檔案)。
(1)要以讀檔案的模式開啟乙個檔案物件,使用python內建的open()函式,傳入檔名和識別符號:
識別符號『r』表示讀,這樣,我們就成功地開啟了乙個檔案。
(2)如果讀取的檔案不存在,則open()函式就會丟擲乙個ioerror的錯誤,並且給出錯誤碼和詳細的資訊告訴我們檔案不存在:
(3)如果檔案開啟成功,接下來呼叫read()方法可以一次讀取檔案的全部內容,python把內容讀到記憶體,用乙個str物件表示:
(4)最後一步是呼叫close()方法關閉檔案。檔案使用完畢後必須關閉,因為檔案物件會占用作業系統的資源,並且作業系統同一時間能開啟的檔案數量也是有限的。
(5)如果在讀寫檔案是發生了ioerror,,則後面的f.close()就不會呼叫。就比如說檔案都沒開啟,如何關閉呢?
但是為了程式的健壯性,所以無論是否出錯都正確關閉檔案,我們可以使用try…finally來實現:
檔案開啟正確時使用try…finally:
檔案開啟錯誤時,使用try…finally:
我們在這個步驟就可以看到檔案沒有開啟,因此找不到f這個檔案的存在。
(6)每次都使用try…finally,還是有點麻煩的。所以在python可以引用with語句來自動呼叫close()方法,這樣的話,每次在開啟檔案時,就不需要寫f.close()。
正確開啟檔案時:
不存在檔案,或者檔案開啟錯誤時:
我們發現(6)得出的結果跟(5)得出的結果是一致的。並且**還更簡潔一些。
下面介紹讀二進位制檔案:
下面介紹寫檔案操作:
由此可見,我們已經對hello.txt檔案寫入了「hello,liangyuan」的內容,也對此檔案進行了讀操作。
(2)如果反覆呼叫write()來寫檔案,一定要呼叫f.close()來關閉檔案。
當我們寫檔案時,作業系統往往不會立刻把資料寫入磁碟,而是放到記憶體快取起來,空閒的時候再慢慢寫入。
只有呼叫close()方法時,作業系統才保證把沒有寫入的資料全部寫入磁碟。如果忘記呼叫close(),則後果就是一部分資料丟失。
所以我們還是用with語句來寫比較保險:
以上是python進行檔案的讀寫操作。
python 讀 寫檔案操作
python中也提供類似於c語言中的open read write函式,下面是我根據看過的內容的乙個python讀 寫檔案的 段 讀檔案 在python的執行資料夾中新建乙個 123.txt 的檔案,輸入2341.rfp open 123.txt 開啟乙個 123.txt 得到乙個檔案物件 分配記憶...
Python 檔案讀寫操作
一 python中對檔案 資料夾操作時經常用到的os模組和shutil模組常用方法。1.得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 2.返回指定目錄下的所有檔案和目錄名 os.listdir 3.函式用來刪除乙個檔案 os.remove 4.刪除多個目錄 os.re...
Python檔案讀寫操作
1.讀檔案 with open xx as file object temp file object.read print temp.rstrip 因為末尾有換行符,會多一行空格with open xx as file object for line in file object print lin...