itertools.islice

itertools.islice(iterable, start, stop[, step])

  可以返回从迭代器中的start位置到stop位置的元素。如果stop为None,则一直迭代到最后位置。

def slice_op():
    part = islice('ABCDEF', 2)
    for x in part:
        print(x)

    在读取文件时也可以使用,比如不想读取文件第一行

 with open('1.csv', 'r') as f:
    for line in islice(f, 1, None): 
        print(line)

  对于大文件读取及处理,不可能直接加载到内存中,因此进行分批次小量读取及处理

from itertools import islice
def read_itertools(path):
    with open(path, 'r', encoding='utf-8') as fout:
        list_gen = islice(fout, 0, 5)  # 两个参数分别表示开始行和结束行
        for line in list_gen:
            print(line)

 

posted on 2022-05-25 11:14  溪水静幽  阅读(453)  评论(0)    收藏  举报