gpt4 book ai didi

python - 在 Python 中的 API 请求中使用变量

转载 作者:太空宇宙 更新时间:2023-11-03 20:06:27 24 4
gpt4 key购买 nike

我想知道如何在以下 API 调用中使用变量:

 response=requests.get('https://api.darksky.net/forecast/f3bc3bd870812cc013666f2bfb75b45d/50,1,2019-11-18T22:05:45+00:00')

我想将纬度和经度变量集成到 for 循环中,而不是本示例中的随机值 50 和 1。当我尝试时,这不起作用并且发生 400 错误。这是语法错误还是不可能?我读了全文 documentation没有任何迹象表明这是不可能的。

[编辑]尝试示例:

for i in range(0,precision):


response=requests.get('https://api.darksky.net/forecast/f3bc3bd870812cc013666f2bfb75b45d/latitude[i],longitude[i],2019-11-18T22:05:45+00:00')
json_data = json.loads(response.text)

wind_speed[i]=json_data["currently"]["windSpeed"]
wind_dir[i]=json_data["currently"]["windBearing"]

在此示例中,i=0、纬度[i]=51.4888 和经度[i]=-3.16657

这是错误消息


File "C:/Users/ab79/Documents/GPX WEATHER/test.py", line 8, in <module>
print(json_data["currently"]["windSpeed"])

KeyError: 'currently'

最佳答案

我会做这样的事情:

base_url = 'https://api.darksky.net/forecast/f3bc3bd870812cc013666f2bfb75b45d/{},{},2019-11-18T22:05:45+00:00'
url = base_url.format(latitude[i],longitude[i])
r = requests.get(url)

data = r.json()

您遇到了问题,因为您试图将变量直接注入(inject) url 字符串。尝试使用 .format() (上面)或 f-string像这样:

url = f'https://api.darksky.net/forecast/f3bc3bd870812cc013666f2bfb75b45d/{latitude[i]},{longitude[i]},2019-11-18T22:05:45+00:00'
r = requests.get(url)
data = r.json()

关于python - 在 Python 中的 API 请求中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58944189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com