我在请求中使用asyncio来尝试制作一个核心模块异步程序。我在尝试做这样的事情时遇到了困难
import asyncio
import requests
async def main():
await r = requests.get(URL)
Run Code Online (Sandbox Code Playgroud)
我以为这样做会等待get请求完成,然后获取返回值并将其放入r中,但是会发生此错误
File "prog.py", line 20
await r = requests.get(URL)
^
SyntaxError: can't assign to await expression
Run Code Online (Sandbox Code Playgroud)
r =等待request.get(URL)也不起作用,给出
prog.py:31: RuntimeWarning: coroutine 'coroutine' was never awaited
coroutine(args)
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?
我仍然使用异步python的基础知识,有些事情使我感到困惑。
import asyncio
loop=asyncio.get_event_loop()
for variation in args:
loop.create_task(coroutine(variation))
loop.run_forever()
Run Code Online (Sandbox Code Playgroud)
似乎与此非常相似
import asyncio
loop=asyncio.get_event_loop()
loop.run_forever(
asyncio.gather(
coroutine(variation_1),
coroutine(variation_2),
...))
Run Code Online (Sandbox Code Playgroud)
他们可能会做同样的事情,但这似乎没有用,所以有什么区别?