读过文件后的EOF?

2024-09-28 21:11:30 发布

您现在位置:Python中文网/ 问答频道 /正文

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

name = open("test.txt")

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

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


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

现在让我们说测试.txt“包含4行文本(第1行、第2行、第3行、第4行)。运行此代码后,我将得到以下输出:

^{pr2}$

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


Tags: 文件代码nametest文本txtreadlen
1条回答
网友
1楼 · 发布于 2024-09-28 21:11:30

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

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

相关问题 更多 >