2
我知道with
塊會在您退出該塊後自動調用close()
,並且通常用於確保不會忘記關閉文件。帶塊或close()更多Pythonic?
似乎有
with open(file, 'r+') as f:
do_things(f)
和
f = open(file, 'r+')
do_things(f)
f.close()
是一種方法比其他更Python之間沒有技術上的差異?我應該在我的代碼中使用哪一個?
還有就是兩者之間巨大的技術差! 'with'版本確保'close()'被調用,即使'do_things()引發異常。你需要添加一個'try'和'finally'到另一個版本來匹配這個行爲。 – jasonharper
FWIW,我不認爲這個問題是重複的3012488.這些主題確實重疊,但另一個問題非常廣泛,並沒有具體說明哪種方法更適合關閉文件。 –