このコードをIPython3シェルで使用する場合
>>>data = open('file').read()
次に、開いているファイル記述子を確認します。
lsof | grep file
空のリストが見つかりました
そして私がこれを使うとき:
>>>open('file')
lsof
は2つのアイテムを示しています。問題は、最初の操作がfdを閉じるのに、2番目の操作が閉じないのはなぜですか?ガベージコレクターは、参照なしでファイルオブジェクトを削除する必要があると思いました。
値を再割り当てするときに、インタプリタの「_」変数について知っています
>>>111
>>>_
111
ただし、記述子は開いたままです。繰り返すとき
>>>open('file')
n回2*n個の開かれた記述子があります