解决方案:使用标准库中的itertools.islice 它能返回一个迭代对象切片的生成器、
islice(iterable,start,stop,step)
正常操作
f = open('/var/log/dmesg')
lines = f.readlines() #文件太大不好
lines[100,300]
f.seek(0) #文件指针恢复 指向开头
from itertools import islice
#islice(f,100,300) 100-300之间 最终是这样的
for line in islice(f,100,300): #100行至300行之间
print line
islice(f,500) #前500行
islice(f,100,None) #100行到文件末尾
xs =[a,b,c,d,e,f,g,h,i,j,k,l,m,n]
for x in islice(xs,5,10):
print x #输出 f,g,h,i,j
注意:如果继续迭代 xs 则会从k开始循环
for t in xs:
print t #输出k l m n
如何对迭代器做切片操作 如只取文件内容的100行到300行的内
最新推荐文章于 2024-09-04 10:31:20 发布