乐趣区

报错-SyntaxError-async-with-outside-async-function

Python 使用 aiohttp 的时候报错 SyntaxError: ‘async with’ outside async function

百度了一圈没有找到答案,因为我是按照官网文档打的,报错了,头大,还以为是包被我改坏了

结果,回看以前的代码,发现是因为,这个 async with xxx as xxx:这个结构必须放在 async def xxx():这样子的函数里面才行。

上代码

async def main():
    async with aiohttp.ClientSession() as session:
        async with session.get(url, timeout=5) as resp:
            print(await resp.text())

完整代码(做了一个嵌套)

import aiohttp
import asyncio
import time

url = 'http://docs.aiohttp.org/en/stable/client_quickstart.html'

async def getapge(session, url):
    async with session.get(url,timeout=5) as resp:
        print(await resp.text())

async def main():
    async with aiohttp.ClientSession() as session:
        await getapge(session, url)

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start = time.time()

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

end = time.time()
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

print('spend time is {}'.format(end - start))

OK,问题解决

最后给你们看下我优美的桌面

我想顺便分享一下我选购显示器的经验

6 月 1 号那天在京东买了一个 AOC 的显示器

就是这款,算了一下 PPI,123,我觉得很棒,足够细腻,大小又刚刚合适(寝室的桌子不是很大),非常满意,幸福感慢慢

以前用的笔记本是美帝联想的 R720,屏幕是一块 45%ntsc 色域的 15.6 屏幕,现在回看真的辣眼睛, 窄边框和色域真的太重要了

退出移动版