【问题标题】:readlines() method of File Object in Python [duplicate]Python中文件对象的readlines()方法[重复]
【发布时间】:2015-12-13 07:31:38
【问题描述】:

我有一个关于 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() 会返回一个空列表?

谢谢。

【问题讨论】:

  • 你也只能运行一次f.read(),除非你运行f.seek(0)。这可能是一个骗局。让我搜索一下。
  • 感谢您指出我提出的第一个问题。我的谷歌技能显然缺乏。

标签: python list


【解决方案1】:

当你读取一次文件时,文件指针已经移到文件末尾,你必须调用f.seek(0)将文件指针移回文件开头。

【讨论】:

    猜你喜欢
    • 2020-10-28
    • 2019-04-25
    • 2022-10-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2014-03-09
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多