gpt4 book ai didi

Python 3 可迭代惰性 block 获取

转载 作者:行者123 更新时间:2023-12-01 01:19:15 26 4
gpt4 key购买 nike

是否有标准方法能够延迟获取下一个数据 block 并按元素生成它

目前我正在获取所有 block 并使用 itertools 将它们链接起来

def list_blobs(container_name:str, prefix:str):    
chunks = []
next_marker=None
while True:
blobs = blob_service.list_blobs(container_name, prefix=prefix, num_results=100, marker=next_marker)
next_marker = blobs.next_marker
chunks.append(blobs)
if not next_marker:
break

return itertools.chain.from_iterable(chunks)

list_blobs fetcher 的“惰性”版本是什么?

最佳答案

chunks.append(blob) 替换为 yield from blobs,并去掉 returnchunks > 完全列出:

def generate_blobs(container_name:str, prefix:str):
next_marker = None
while True:
blobs = blob_service.list_blobs(container_name, prefix=prefix, num_results=100, marker=next_marker)
next_marker = blobs.next_marker
yield from blobs
if not next_marker:
break

这会将函数转换为一次生成单个项目的生成器函数。

关于Python 3 可迭代惰性 block 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54005828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com