1

これが私のコードです:

>>> f=open('list.txt')
>>> print list(f)
['bird\n', 'cat\n', 'cat\n', 'cat\n', 'tree']
>>> mylist=list(f)
>>> print mylist
[]   
>>> print list(f)
[]

リストが空なのはなぜですか??? コードの前半では、リストが正しいリストであることを示しています。さらに、最初のコマンド「print mylist」が空のリストを表示するのはなぜですか? 以前に mylist=list(f) を設定していました。ありがとう。

4

1 に答える 1

3

すでにファイル全体を読んでいるためです。ファイルを読み取ると、ファイル ポインタは末尾に移動され、それ以上のデータは「見つかりません」。

ファイルを再度開くか、先頭に戻ります。

f.seek(0)

print list(f)最初の行は;であることに注意してください。これにより、ファイル イテレータが使い果たされました (ファイル ポインタがファイルの末尾に移動されました)。

次のステートメントはであり、再びmylist=list(f)から読み取ろうとします。ファイル ポインターはまだファイルの末尾にあり、読み取り時にデータは返されず、空のリストが作成されます。f

于 2013-05-15T10:39:02.257 に答える