返回文件开头
我是python的新手,我正在学习一些基本的文件读取东西。我正在尝试读取文件并计算新行数,并打印以'From: '开头的行。
这是我的代码:
fhand = open('mbox.txt')
count = 0
for line in fhand:
count = count + 1
print count
for line in fhand:
if line.startswith('From: '):
print line
我知道我可以在一个循环中做到这一点,但我想在这里学习一些东西。只要执行第一个循环,'line'就在文件的末尾。所以当它运行第二个循环时,它不打印任何东西。我试着把line = 0,它不起作用。我怎样才能回到文件的开头?
谢谢你的帮助。
file.seek(0)
seek()接受一个返回到该"字节"的参数。因此0字节将返回到文件的开头
试一下:
with open('mbox.txt') as f:
count = 0
for l in f.readlines():
count += 1
if l.startswith('From: '):
print l
使用seek(0)