试图打印清单:变空

时间:2013-05-15 10:38:20

标签: python

这是我的代码:

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

为什么列表为空?在代码的早期,它显示列表是正确的列表。此外,为什么第一个命令“打印mylist”显示空列表?我以前设置了mylist = list(f)。感谢。

1 个答案:

答案 0 :(得分:3)

因为您已经阅读了整个文件。读完文件后,文件指针已移至末尾,超过该点就不会再“找到”数据。

重新打开文件或寻找回头:

f.seek(0)

请注意,您的第一行是print list(f);这耗尽了文件迭代器(将文件指针移动到te文件的末尾)。

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