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 屏幕,现在回看真的辣眼睛, 窄边框和色域真的太重要了 。