gpt4 book ai didi

python - read() 和 readline() 可以一起使用吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:46 24 4
gpt4 key购买 nike

是否可以在 python 中对一个文本文件同时使用 read() 和 readline()?

当我这样做时,它只会执行第一次阅读功能。

file = open(name, "r")
inside = file.readline()
inside2 = file.read()

print(name)
print(inside)
print(inside2)

结果只显示inside变量,不显示inside2

最佳答案

阅读文件就像阅读一本书。当你说 .read() 时,它会通读整本书直到最后。如果您再次说 .read(),那么您就忘记了一步。除非你翻到开头,否则你无法再次阅读它。如果您说 .readline(),我们可以称其为页面。它会告诉您页面的内容,然后翻页。现在,说 .read() 从那里开始读到最后。第一页不包括在内。如果你想从头开始,你需要翻开这一页。方法是使用 .seek() 方法。它被赋予一个参数:一个要寻找的字符位置:

with open(name, 'r') as file:
inside = file.readline()
file.seek(0)
inside2 = file.read()

还有另一种方法可以从文件中读取信息。当您使用 for 循环时,它会在后台使用:

with open(name) as file:
for line in file:
...

这种方式是 next(file),它会为您提供下一行。不过这种方式有点特别。如果 file.readline()file.read() 出现在 next(file) 之后,您将得到混合迭代和读取的错误方法会丢失数据。 (感谢 Sven Marnach 指出了这一点。)

关于python - read() 和 readline() 可以一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39978085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com