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屏幕,现在回看真的辣眼睛,窄边框和色域真的太重要了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。