我有一个关于Python中文件对象的readlines()方法的快速问题。
我有一个包含以下内容的文件(file1.txt):
one
two
three
four
five
我知道我可以在解释器中对此文件使用readlines(),如下所示:
>>>f = open('file1.txt', 'r+')
>>>f.readlines()
['one\n', 'two\n', 'three\n', 'four\n', 'five\n']
同样,我可以这样做:
>>>f = open('file1.txt', 'r+')
>>>lines = f.readlines()
>>>lines
['one\n', 'two\n', 'three\n', 'four\n', 'five\n']
然而,似乎我只能运行readlines()方法一次:
>>>f = open('file1.txt', 'r+')
>>>f.readlines()
['one\n', 'two\n', 'three\n', 'four\n', 'five\n']
>>>lines = f.readlines()
>>>lines
[]
这里发生了什么?为什么f.readlines()在我第二次调用它时会返回一个空列表?
感谢。
答案 0 :(得分:1)
当您读取文件一次,文件指针已移至文件末尾时,您必须调用f.seek(0)
将文件指针移回开头。