Nam*_*cus 6 python python-3.x darksky
您好,我是 Python 新手,正在尝试使用 Detrous 制作的 Dark Sky Python API。当我运行演示代码时,出现错误:
forecast = await darksky.get_forecast(
^
SyntaxError: 'await' outside function
Run Code Online (Sandbox Code Playgroud)
此错误源于:
forecast = await darksky.get_forecast(
latitude, longitude,
extend=False, # default `False`
lang=languages.ENGLISH, # default `ENGLISH`
units=units.AUTO, # default `auto`
exclude=[weather.MINUTELY, weather.ALERTS] # default `[]`
)
Run Code Online (Sandbox Code Playgroud)
我不太确定如何解决这个问题,我正在使用 python 3。
谢谢
小智 7
我认为这个答案对与我搜索相同问题的人很有用。要在同步上下文中使用异步函数,您可以使用事件循环。出于教育目的,您可以从头开始编写它。您可以从这个答案开始 /sf/answers/3578183731/ 并继续阅读 David Beazley 的书籍。
但是 asyncio 的开发人员已经为您做到了。
import asyncio
loop = asyncio.get_event_loop()
forecast = loop.run_until_complete(darksky.get_forecast(...<here place arguments>...))
loop.close()
Run Code Online (Sandbox Code Playgroud)
小智 2
该await关键字只能在异步函数和方法中使用。您可以阅读有关异步代码的更多内容以了解原因。
解决方案是使用而darksky = DarkSky(API_KEY)不是使用darksky = DarkSkyAsync(API_KEY).
| 归档时间: |
|
| 查看次数: |
10296 次 |
| 最近记录: |