我有一个程序,我正在从文件中读取数字,并将这些数字添加到我的程序中的不同列表中。现在,我需要跳回到文件的顶部并再次从顶部读取。有没有人知道是否有一个命令可以做到这一点,或者它是否可能?
答案 0 :(得分:1)
您可以使用seek(0)
从头开始重新开始。
实际上,当您从文件中读取时,它会不断更新当前字节的偏移量。 seek()
使您能够在任何位置设置偏移量。
开始时,偏移量位于0.因此,f.seek(0)
将在文件开头设置偏移量。
with open('filename','r') as f:
f.read(100) # Read first 100 byte
f.seek(0) # set the offset at the beginning
f.read(50) # Read first 50 byte again.
答案 1 :(得分:0)
有几种方法可以实现这一目标。最简单的是使用seek(0)
。 0
表示文件的开头。
您甚至可以使用tell()
存储文件的任何位置并重复使用它:
with open('file.txt', 'r') as f:
first_position = f.tell()
f.read() # your read
f.seek(first_position) # it will take you to the previous position you marked.