一つはPythonでファイルを介してライン・バイ・ラインを読むために、古典的なループPythonでファイルの最後に到達すると、readlineはどの値を返しますか?
file_in = open('suppliers.txt', 'r')
line = file_in.readline()
while line:
line = file_in.readline()
を使用することができます。
しかし、ループが終了するときに「線」にはどのような値がありますか? Pythonの3ドキュメント読み取り専用:
のreadline(サイズ= -1)
読み取りストリームから1行を返します。 sizeが指定されている場合は、 にほとんどのサイズのバイトが読み込まれます。
バイナリファイルの場合、ラインターミネータは常にb '\ n'です。テキストファイルの場合は、 open()の改行引数を使用して、 ターミネータを認識することができます。
help(file_in.readline)
が正確に同じであるreadline(size=-1, /) method of _io.BufferedReader instance Read and return a line from the stream. If size is specified, at most size bytes will be read. The line terminator is always b'\n' for binary files; for text files, the newlines argument to open can be used to select the line terminator(s) recognized.
を与えるパイソン(3.6.1)の私のバージョンで
、あなたがバイナリモードでファイルを開いた場合、:
編集docs quoted above。しかし、Steve Barnesで指摘されているように、ファイルをテキストモードで開くと便利なコメントが表示されます。
これについてのドキュメントは、はるかに理解しやすいものでした。 – user2357112
'TextIOBase'は' readline'がEOF上で空の文字列を返すことを文書化しています。上記の抜粋は、「IOBase」の記述に由来しています。 – chepner