python 文件操作 open()与with open() as的区别(打开文件)
生活随笔
收集整理的這篇文章主要介紹了
python 文件操作 open()与with open() as的区别(打开文件)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
引用文章:open()和with open() as的區(qū)別
file = open("test.txt","r") for line in file.readlines():print line file.close()這樣直接打開文件,如果出現(xiàn)異常,如讀取過程中文件不存在或異常,則直接出現(xiàn)錯誤,close方法無法執(zhí)行,文件無法關(guān)閉
with open("test.txt","r") as file: for line in file.readlines():print line用with語句的好處,就是到達語句末尾時,會自動關(guān)閉文件,即便出現(xiàn)異常。
with語句實際上是一個非常通用的結(jié)構(gòu),允許你使用所謂的上下文管理器。上下文管理器是支持兩個方法的對象:enter__和__exit。
方法__enter__不接受任何參數(shù),在進入with語句時被調(diào)用,其返回值被賦給關(guān)鍵字as后面的變量。
方法__exit__接受三個參數(shù):異常類型、異常對象和異常跟蹤。它在離開方法時被調(diào)用(通過前述參數(shù)將引發(fā)的異常提供給它)。如果__exit__返回False,將抑制所有的異常。
文件也可用作上下文管理器。它們的方法__enter__返回文件對象本身,而方法__exit__關(guān)閉文件
file= open("test.txt","r") try:for line in file.readlines():print line except:print "error" finally:file.close()with語句作用效果相當(dāng)于上面的try-except-finally
總結(jié)
以上是生活随笔為你收集整理的python 文件操作 open()与with open() as的区别(打开文件)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Yolo-v3 and Yolo-v2
- 下一篇: websocket python爬虫_p