Python 3.5:“;与“异步”;导致合成错误。为什么?
我使用的是Python3.5,据我所知,它应该可以通过语法访问Python 3.5:“;与“异步”;导致合成错误。为什么?,python,python-3.x,coroutine,Python,Python 3.x,Coroutine,我使用的是Python3.5,据我所知,它应该可以通过语法访问async,但是当我尝试使用它时,我会得到一个语法错误。我做错了什么 In [14]: sys.version Out[14]: '3.5.2 (default, Oct 11 2016, 04:59:56) \n[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)]' In [15]: async with aiohttp.ClientSession() as sessio
async,但是当我尝试使用它时,我会得到一个语法错误。我做错了什么
In [14]: sys.version
Out[14]: '3.5.2 (default, Oct 11 2016, 04:59:56) \n[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)]'
In [15]: async with aiohttp.ClientSession() as session:
File "<ipython-input-15-9799c5ce74cf>", line 1
async with aiohttp.ClientSession() as session:
^
SyntaxError: invalid syntax
[14]中的:sys.version
Out[14]:“3.5.2(默认,2016年10月11日,04:59:56)\n[GCC 4.2.1兼容苹果LLVM 8.0.0(clang-800.0.38)]”
在[15]中:与aiohttp.ClientSession()作为会话异步:
文件“”,第1行
与aiohttp.ClientSession()作为会话异步:
^
SyntaxError:无效语法
如果没有async
功能,则不能使用async with
。作为:
在async def函数外部使用async是一种语法错误
但这一代码将起作用:
async def some_function():
async with aiohttp.ClientSession() as session:
pass
或者看看。引用您链接的页面中的示例:“在异步定义函数之外使用异步是一个语法错误。”如果没有上下文,您不能使用async with
。尝试在异步函数中使用它。@vaultah请将您的注释移动到一个答案,我将接受相关:(基本相同的错误,但不同的async
construct)我认为您引用了错误的部分。正确的引用应该是中的最后一句:“在async def
函数之外使用async with
是SyntaxError
。@MSeifert谢谢,已更新!