0

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

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?如果是这样,为什么它不从头开始读取文件?有没有办法重新加载文件?

4

1 回答 1

2

是的,第二个是0因为你已经阅读了整个文件,所以没有什么可以读入的了CountChars

name.seek(0)调用CountChars. 查看文件对象文档

于 2012-03-17T17:50:56.110 回答