python中open與with open的區別

2021-10-23 10:54:03 字數 1471 閱讀 5504

讀寫檔案是最常見的io操作。python內建了讀寫檔案的函式,用法和c是相容的。在磁碟上讀寫檔案的功能都是由作業系統提供的,現代作業系統不允許普通的程式直接操作磁碟,所以,讀寫檔案就是請求作業系統開啟乙個檔案物件(通常稱為檔案描述符),然後,通過作業系統提供的介面從這個檔案物件中讀取資料(讀檔案),或者把資料寫入這個檔案物件(寫檔案)。

若檔案不存在,open()函式就會丟擲乙個ioerror的錯誤,並且給出錯誤碼和詳細的資訊告訴你檔案不存在:

若檔案存在則正確讀取檔案中內容:

結果:注:檔案使用完畢後必須關閉,因為檔案物件會占用作業系統的資源,並且作業系統同一時間能開啟的檔案數量也是有限的。

由於檔案讀寫時都有可能產生ioerror,一旦出錯,後面的f.close()就不會呼叫。所以,為了保證無論是否出錯都能正確地關閉檔案,可以使用try ... finally來實現:

結果:這樣寫太繁瑣,所以,python引入了with語句來自動呼叫close()方法。

with建立臨時執行環境:

作用:with用於建立乙個臨時的執行環境,執行環境中的**執行完後自動安全退出環境。

檔案操作:使用open進行檔案操作時建議使用with建立執行環境,可以不用close()方法關閉檔案,無論在檔案使用中遇到什麼問題都能安全的退出,即使發生錯誤退出執行環境時也可以安全退出檔案並給出報錯資訊。

結果:和前面的try … finally是一樣的,但是**更佳簡潔,並且不必呼叫f.close()方法。

呼叫read()會一次性讀取檔案的全部內容,如果檔案有10g,記憶體空間會不足,因此,可以反覆呼叫read(size)方法,每次最多讀取size個位元組的內容。另外,呼叫readline()可以每次讀取一行內容,呼叫readlines()一次讀取所有內容並按行返回list。因此,要根據需要決定怎麼呼叫。

python中的open函式

這裡簡單記錄一下python中的with open 函式中的引數設定 python的open方法用來開啟乙個檔案。第乙個引數是檔案的位置和檔名,第二個引數是讀寫模式。這裡我們採用w模式,也就是寫模式。在這種模式下,檔案原有的內容將會被刪除。其中對於第二個引數 ru 或 ua 以讀方式開啟,同時提供通...

python中open 的使用

python檔案的操作 在d盤下 新建乙個檔案,並關閉 使用w模式開啟檔案 如果檔案存在 直接開啟 如果檔案不存在 會建立乙個檔案 然後開啟 f1 open d test1.txt w python中檔案的路徑是用 f1.close 方法二 windows系統檔案的路徑用 但在python中,反斜槓...

Python中open讀寫檔案操作

python內建了讀寫檔案的函式open f open users michael test.txt r r 表示讀,我可以可以利用這個方法開啟乙個檔案,如果檔案不存在,會丟擲乙個ioerror的錯誤,並且給出錯誤碼和詳細資訊告訴你檔案不存在。如果檔案開啟成功,我們接下來就要讀檔案操作了 f.rea...