web-dev-qa-db-ja.com

Python 3.5:「と非同期」の結果、SyntaxErrorが発生します。なぜですか?

私はPython 3.5を使用しています。これは PEP 492 によると、async with構文ですが、使用しようとするとSyntaxErrorが発生します。私は何を間違えていますか?

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
15
vaer-k

async関数なしではasync withを使用できません。 docs say

Async def関数の外部でasyncを使用するのはSyntaxErrorです。

しかし、このコードは機能します:

async def some_function():
    async with aiohttp.ClientSession() as session:
        pass

または docs の例をご覧ください。

27
sobolevn