在進行文件操作的時候,正確關(guān)閉一個文件非常重要,如果在文件讀寫后,沒有正確關(guān)閉一個文件的話,則有可能導致文件損壞,文件內(nèi)容丟失等問題。
在一般情況下,我們使用文件對象的close()方法,來關(guān)閉一個文件。
但是,使用close()方法,也不是100%安全的,如果在close()文件之前,程序異常退出了,那么文件也得不到正確的關(guān)閉。比如:
f = open('test.txt', 'a+') exit(-1) # ==> 模擬程序異常退出 f.close() # ==> close語句永遠的不到執(zhí)行
在實際工程中,close()文件之前,為了正確關(guān)閉文件,需要考慮各種異常情況,這是非常麻煩的一件事,Python提供with關(guān)鍵字,可以免除這類后顧之憂。
with關(guān)鍵字對資源進行訪問的場合,會確保不管在使用過程中是否發(fā)生異常,都會執(zhí)行必要的“清理”的操作,釋放資源,比如文件使用后自動關(guān)閉等等。
with的使用方法如下:
with open('test.txt', 'r') as f: content = f.readlines() for line in content: print(line)
當文件使用結(jié)束后,不需要顯式的調(diào)用f.close()關(guān)閉文件。
假設(shè)test.txt文件有以下內(nèi)容:
Hello World Hello Python Hello Imooc
請使用with語法,將文件的內(nèi)容重復寫一份追加到文件的尾部。
請同學在本地編寫代碼練習
參考答案:
with open('test.txt', 'a+') as f: f.seek(0) content = f.readlines() f.seek(2) for line in content: f.write(line)
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報