【问题标题】:EOF after reading a file?读取文件后的EOF?
【发布时间】:2012-03-17 17:42:29
【问题描述】:

我写了一个非常简单的代码,但我无法理解一件事。 代码是这样的

name = open("test.txt")

def CountLines(name):
    return len(name.readlines())

def CountChars(name):
    return len(name.read())


print(CountLines(name))
print(CountChars(name))

现在假设“test.txt”包含 4 行文本(line1、line2、line3、line4)。运行此代码后,我会得到输出:

4
0

第一个没问题,为什么第二个是0?因为之前的函数设置为 EOF?如果是这样,为什么它不从头开始读取文件?有没有办法重新加载文件?

【问题讨论】:

    标签: python file readlines


    【解决方案1】:

    是的,第二个是0,因为您已经阅读了整个文件,所以在CountChars 中没有任何内容可以阅读。

    在调用CountChars 之前,您需要将name.seek(0) 放在那里以返回文件的开头。查看file object documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-19
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 2010-09-06
      相关资源
      最近更新 更多