これを Python で入力すると、次のようになります。
open("file","r").read()
ファイルの正確な内容を文字列として返す場合もあれば、(ファイルが空でなくても) 空の文字列を返す場合もあります。誰かがこれが何に依存しているのか説明できますか?
ファイルの終わり (EOF) に達すると、読み取るデータがなくなるため、.read
メソッドは を返します。''
>>> f = open('my_file.txt')
>>> f.read() # you read the entire file
'My File has data.'
>>> f.read() # you've reached the end of the file
''
>>> f.tell() # give my current position at file
17
>>> f.seek(0) # Go back to the starting position
>>> f.read() # and read the file again
'My File has data.'
ドキュメント リンク:read()
tell()
seek()
注: 初めてファイルを読み取ったときにこれが発生した場合は、ファイルが空でないことを確認してください。
file.seek(0)
そうでない場合は、の前に置いてみてくださいread
。
file.read()
メソッドのドキュメントから:
EOF がすぐに検出されると、空の文字列が返されます。
ファイル オブジェクトの最後に到達しました。読み取るデータはもうありません。ファイルは、ファイル データへのポインタである「現在の位置」を保持します。これは 0 から始まり、データを読み取ると増加します。
その位置を読み取る方法と変更するfile.tell()
方法を参照してください。file.seek()