这是我的代码:
>>> 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)。感谢。
答案 0 :(得分:3)
因为您已经阅读了整个文件。读完文件后,文件指针已移至末尾,超过该点就不会再“找到”数据。
重新打开文件或寻找回头:
f.seek(0)
请注意,您的第一行是print list(f)
;这耗尽了文件迭代器(将文件指针移动到te文件的末尾)。
您的下一个语句是mylist=list(f)
,它会尝试再次从f
中读取。文件指针仍在文件的末尾,读取时不返回任何数据,并创建一个空列表。