Python忽略异常并继续列表中的以下项目

2024-05-09 06:43:58 发布

您现在位置:Python中文网/ 问答频道 /正文

大家早上好/下午好/晚上好! 我正试图编写一个具有航空功能的discord机器人。其中之一是一个命令,该命令用确定机场的气象报告回答用户。我正在使用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


Tags: 函数代码用户命令功能api航空列表
1条回答
网友
1楼 · 发布于 2024-05-09 06:43:58

我不知道该怎么做。我差不多解决了这个问题。我对如何解决这个问题有一些想法。例如,在启动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.") 

相关问题 更多 >

    热门问题