2016-06-01 5 views
0
with open(filename, 'r') as fp: 
    do something 
fp.close() 

でファイルを閉じて、開いているファイルを後に再度ファイルをクローズする必要があります。しかし、私は多くの人々がまだファイルを閉じようとしているのを見ましたが、Pythonは閉じたファイルを閉じるのをやっていませんか?これはベストプラクティスか、またはファイルをasと一緒に使うときに最も安全な方法ですか?は、開いているファイルを閉じるためにcloseメソッドを呼び出します<strong>終了</strong>を呼び出すように私は、FPは私が開いたと知っているのpython

答えて

3

withブロックの最後の後には、fp.close()には絶対に電話をかけてはいけません。自動的に閉じます。あなたが示すコードは単純に壊れています。

with open(filename, 'r') as fp: 
    do something 
+0

fp.close()ステートメントをwithブロック内に置くとどうなりますか?ファイルを閉じるのは正しいのですか?ちょっと興味があるんだけど。 – bhansa

+0

'with'ブロックが終了した時点よりも早くファイルを閉じるだけです。閉じたファイルに対して '.close()'を呼び出すのは誤りではありません。 –

+0

@Bhansa:一般に、 'with'を使っているならば、' close() 'を明示的に呼び出すべきではありません。 –

関連する問題