Python通过islice循环读取20条记录

Python通过islice循环读取20条记录,python,itertools,Python,Itertools,我正在读一个TXT文件(1GB)。内容是大量的URL记录。我想调用一个函数来返回20条记录。如何修改代码以允许他每次返回剩余的N条记录?这让我很困惑 from itertools import islice def iter_list(start,stop): url = [] with open("domain.txt") as file: for line in islice(file, start, stop): url.appen

我正在读一个TXT文件(1GB)。内容是大量的URL记录。我想调用一个函数来返回20条记录。如何修改代码以允许他每次返回剩余的N条记录?这让我很困惑

from itertools import islice

def iter_list(start,stop):
    url = []
    with open("domain.txt") as file:
        for line in islice(file, start, stop):
            url.append(line)
        return url
def get_html(url):
req=请求。获取(url)
打印(请求状态\ U代码)
"""
我想在循环完成后提取20块进行加工。我不知道这个表达式是否可以理解。
"""
url=iter_列表(1,20)
对于url中的i:

get_html(i.strip())
也许我的描述不好。第一次调用返回1到20的记录,第二次调用返回20到40的记录,第三次调用返回40到60的记录,这就是我需要的。我现在编辑了我的答案。该方法返回一个由包含20行的列表组成的列表。它对你有用吗?def get_html(url):req=requests.get(url)print(req.status_code)““我希望在循环完成后,我将提取20多个片段进行处理,直到文档被处理。我不知道这个表达式是否可以理解?”“url=iter_list(1,20)for I in url:get_html(I.strip())在评论行很难理解,但可能会有用。可能不太清楚,抱歉,请通过iter_list()一次返回20件,然后将其交给get_html()。处理完成后,再次提取20个片段,直到文件的最后一行。可能我的描述不好。第一次调用返回1到20的记录,第二次调用返回20到40的记录,第三次调用返回40到60的记录,这就是我需要的。我现在编辑了我的答案。该方法返回一个由包含20行的列表组成的列表。它对你有用吗?def get_html(url):req=requests.get(url)print(req.status_code)““我希望在循环完成后,我将提取20多个片段进行处理,直到文档被处理。我不知道这个表达式是否可以理解?”“url=iter_list(1,20)for I in url:get_html(I.strip())在评论行很难理解,但可能会有用。可能不太清楚,抱歉,请通过iter_list()一次返回20件,然后将其交给get_html()。处理完成后,再次提取20个片段,直到文件的最后一行。
from itertools import islice

def iter_list(start,stop):
    url = []
    tmp = []
    with open("domain.txt") as file:
        for line in islice(file, start, stop):
            url.append(line)
            if len(url) == 20:
               url.append(tmp)
               tmp = []
        return url


for i in iter_list(start,stop):
    print(i)