打印 file.read() 不显示文件内容

mul*_*rse 0 python file file-read

我无法理解为什么file.read()当我将其保存在变量中时表现不同。这是插图:

with open("file.txt","r") as file:
    content=file.read()
    print(content)
    print("------")
    print(file.read())
Run Code Online (Sandbox Code Playgroud)

输出是:

a
b

------
Run Code Online (Sandbox Code Playgroud)

因此,代码的最后一行没有打印任何内容。

有人愿意解释一下为什么吗?

Mar*_*ers 5

文件对象是;从它们中读取会前进一个文件位置。再次读取不会重置该文件位置,并且由于没有新数据添加到文件中,您会得到一个空字符串。

如果需要将文件位置重置为开头,请使用以下file.seek()方法:

file.seek(0)
print(file.read())
Run Code Online (Sandbox Code Playgroud)