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); 这耗尽了文件迭代器(将文件指针移动到文件末尾)。

您的下一条语句是 then ,它尝试再次mylist=list(f)读取。文件指针仍在文件末尾,读取时不返回任何数据并创建一个空列表。f

于 2013-05-15T10:39:02.257 回答