gpt4 book ai didi

python - 如何异步迭代范围

转载 作者:行者123 更新时间:2023-12-03 23:36:54 25 4
gpt4 key购买 nike

在python3.6中,如果我想遍历一个范围,我可以简单地这样做

for i in range(100): pass

但是,如果我想异步迭代一个范围,我该怎么办?我不能做
async for i in range(100): pass # Doesn't work

因为 range 不是 AsyncIterable 对象。我能想到的一种解决方案是子类化 range 并定义 __aiter__ 方法。但是对我来说感觉真的不是pythonic。在没有 定义我自己的类的情况下,有什么好的方法/库可以做到这一点 吗?

最佳答案

https://www.python.org/dev/peps/pep-0525/#asynchronous-generator-object
您可以使用一个示例函数来代替 range():

async def async_range(count):
for i in range(count):
yield(i)

关于python - 如何异步迭代范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51525604/

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