open
の後にファイルを削除したときにPythonがファイルを読み込む方法の概念を理解するのが難しいです。コードは次のとおりです。開かれた後にファイルが削除されたときにPythonがファイルを読み取る方法
>>> import os
>>> os.system('cat foo.txt')
Hello world!
0
>>> f
<_io.TextIOWrapper name='foo.txt' mode='r' encoding='UTF-8'>
>>> os.system('rm -f foo.txt')
0
>>> os.system('cat foo.txt')
cat: foo.txt: No such file or directory
256
>>> f.read()
'Hello world!\n'
>>>
テキストモードとバイナリモードで同じ結果が得られます。
1Gb以上のサイズの大きなファイルに対してもこれを試しましたが、削除しても読み込まれました。 open
の操作は、非常に大きなファイルの場合でもほとんど瞬時に行われます。
開いているファイルがもう存在しない場合、Pythonはどこからデータを取得しますか?
私は、Pythonで行うには
python 3.4.3/3.5.2
ubuntu 14.04/16.04