2
ブロックを終了した後にwith
ブロックが自動的にclose()
を呼び出し、ファイルを閉じることを忘れないようにすることがよくあることを理解します。withブロックまたはclose()Python以上ですか?
他よりPython的な一つの方法です?
with open(file, 'r+') as f:
do_things(f)
と
f = open(file, 'r+')
do_things(f)
f.close()
の間には技術的な差がないように見えますか私のコードではどうすればいいですか?
2の間に大きな技術的な違いがあります! 'with'バージョンは、' do_things() 'が例外を発生させたとしても' close() 'が呼び出されることを保証します。この振る舞いに合うように、もう一方のバージョンに 'try'と' finally'を追加する必要があります。 – jasonharper
FWIW、私はこの質問が3012488の重複ではないと思う。トピックは重複するが、他の質問は非常に幅広く、ファイルを閉じるためのPythonの方が具体的な方法については特に言及していない。 –