gpt4 book ai didi

python - 如何从回调中生成调用生成器的值

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:02 26 4
gpt4 key购买 nike

我正在尝试在 python 2.6 中定义类似以下生成器的内容:

def getGenerator(self, keyIterator):
def bufferFullCallback(list_of_keys):
some_values = api_call(list_of_keys)
for value in some_values:
yield value # I want this value to be yielded by getGenerator
for key in keyIterator:
with MyBuffer(self.buffer_size, bufferFullCallback) as buf:
buf.addToBuffer(key)

在这里,当缓冲区已满时,我会收到一个回调,其中我进行一些 API 调用来获取与键对应的一堆值。现在,我需要“getGenerator”来生成它在回调函数中接收到的这些值。但是,如果我在回调中产生值,则该回调本质上会变成一个生成器;这显然是错误的做法。您能否建议从回调中生成值的正确方法,或者甚至可能有帮助的不同重构?

最佳答案

类似这样的事情:

def getGenerator(self, keyIterator):
results = []
def bufferFullCallback(list_of_keys):
results.extend(api_call(list_of_keys))
for key in keyIterator:
with MyBuffer(self.buffer_size, bufferFullCallback) as buf:
buf.addToBuffer(key)
for value in results:
yield value

关于python - 如何从回调中生成调用生成器的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25742064/

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