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)
因此,代码的最后一行没有打印任何内容。
有人愿意解释一下为什么吗?
文件对象是流;从它们中读取会前进一个文件位置。再次读取不会重置该文件位置,并且由于没有新数据添加到文件中,您会得到一个空字符串。
如果需要将文件位置重置为开头,请使用以下file.seek()方法:
file.seek(0)
print(file.read())
Run Code Online (Sandbox Code Playgroud)