在Python中,假设我有:
f = open("file.txt", "r")
a = f.readlines()
b = f.readline()
print a
print b
print a
将显示文件的所有行,print b
将不显示任何内容。在
同样,反之亦然:
^{pr2}$
print a
显示第一行,print b
将显示除第一行之外的所有行。在
如果a
和b
都是readlines(),a
将显示所有行,b
将不显示任何内容。在
为什么会这样?为什么两个命令不能独立工作?有解决办法吗?在
Tags:
因为
readlines
读取了文件中的所有行,因此没有剩余的行可供读取,要再次读取该文件,可以使用f.seek(0)
返回开头并从那里读取。在文件有一个字节偏移量,每当您读或写文件时,它都会更新。这将实现您最初预期的效果:
现在
a
是所有的行,b
只是第一行。在{{cd2>第一次读取时,{cd2>将不消耗任何内容。如果你想回到开头,用
.seek(0)
作为@abccd在他的回答中已经提到。在相关问题 更多 >
编程相关推荐