2017-11-11 20 views
0

私のコードは次のようになります。Pythonのファイルクローズ安全

with open(‘myfile.txt’, 'w+') as file: 
    file.write("some stuff\n”) 
    file.write(“some more stuff”) 

私のコードの次の行がmyfile.txtのから読み込んでサブプロセスを開きます。まだ問題はありませんが、安全ですか?私のサブプロセスは古いバージョンを読むことができないようにファイルが閉じられていることを確認するために何か具体的なことをする必要がありますか?私はPopenとwait()コマンドを使うべきですか?もしそうなら、適切な構文は何ですか?私は実際の例を見ていない。

+3

それは自動的にファイルを閉じます。 withステートメントは、 に、クリーンアップが常に使用されることを保証する方法を提供します。 –

+0

'file'も組み込み関数であり、それをシャドーするので、名前として' file'を使わないのが最善です。 –

答えて

1

これは完全に安全です。 'with ... as ...'を使用すると、自動的にファイルが閉じます。

「with」を使用しない場合は、ファイルを手動で閉じる必要があります。

0

"with"コマンドを使用すると、 "with"コマンドの次のコードが実行された後、開いたファイルが閉じられることが保証されます。だから、それは安全です。それはそれを使用する利点の1つです。 Thisスタックオーバーフローの回答より詳細に説明しています。

関連する問題