5

私はこのようなことをしようとしています:

Lines = file.readlines()
# do something
Lines = file.readlines()  

しかし、2回目Linesは空です。それは正常ですか?

4

3 に答える 3

10

はい、.readlines()ファイル ポインターをファイルの末尾に進めるためです。

行のコピーを変数に保存しないのはなぜですか?

file_lines = file.readlines()
Lines = list(file_lines)
# do something that modifies Lines
Lines = list(file_lines)

ディスクを 2 回ヒットするよりもはるかに効率的です。( への変更が影響しないlist()ように、リストのコピーを作成するために呼び出しが必要であることに注意してください。)Linesfile_lines

于 2012-04-18T00:17:15.077 に答える
10

を使用してファイルポインタをリセットする必要があります

file.seek(0)

使用する前に

file.readlines()

また。

于 2012-04-18T00:17:22.947 に答える