除了这种方式之外,是否有更多的python友好方式从文件中读取100行:
f=open(varFilename,"r")
count=0
for fileLine in f:
print fileLine
count+=1
if count>100:
break
我觉得有一种比计数增量更好的方法,然后尝试在循环中打破。
答案 0 :(得分:8)
使用itertools.islice()
将文件对象迭代器限制为仅100行:
from itertools import islice
with open(filename) as f:
for line in islice(f, 100):
此处我还将文件对象用作context manager; with
语句确保在退出代码块时再次关闭文件。
如果您不需要限制迭代次数但只需要循环中的计数器,请不要使用单独的计数器。请改用enumerate()
:
for i, line in enumerate(f):
if i > 100:
答案 1 :(得分:6)
您可以使用itertools.islice
从文件对象中获取第一行n
行:
from itertools import islice
with open(varFilename) as f:
for line in islice(f, 10):
#do something here
在处理文件时使用with
语句:
在处理文件时,最好使用
with
关键字 对象。这样做的好处是文件在之后正确关闭 它的套件即使在路上引发异常也会完成。