大家早上好/下午好/晚上好!我在试图编码一个具有航空功能的不和谐的机器人。其中之一,这是一个命令,回答用户的气象报告,一个确定的机场。我正在使用API来实现这个功能。
假设我有一个用户输入的机场列表:
airports = ["A","B","C"]我有一个函数,它可以拆分列表并根据API检索信息。效果很好。
麻烦来了。假设列出的任何机场都不存在/拼写错误/等等。我如何使代码忽略这一点,并与其他机场保持一致?
这是我正在处理的代码:
for i in aeropuertos:
finalizado = MetarBot.metarbot.Taf(i)
await ctx.send(finalizado)
time.sleep(0.5)它处理机场"A“,一切都很好。输出数据。说到"B“机场,它就停在那里。它是否可以忽略(或弹出一个“检查您的拼写!”)然后继续下一个列表?
已经用尝试过了,除了之外,但是没有成功。也尝试过用contextlib.suppress
EDIT1: API文档:https://avwx.docs.apiary.io/#introduction/authentication
发布于 2021-08-20 21:08:09
我想不出怎么做。我解决了这个问题。我对如何解决这个问题有一些想法。例如,在启动API请求之前,让文本文件检查名称是否正确。
但我所做的是找出错误的机场代码并给出答案。
try:
a = 0
for i in aeropuertos:
finalizado = MetarBot.metarbot.Taf(i)
await ctx.send(finalizado)
time.sleep(0.5)
a += 1
except:
error = aeropuertos[a]
await ctx.send(f"Error. {error.upper()} inválido/no se encuentra en la base de datos.") https://stackoverflow.com/questions/68842546
复制相似问题