解析数据时,在一种情况下,有数据变量,但在另一种情况下没有。例如:
UserUrlApex = "https://public-api.tracker.gg/apex/v1/standard/profile/5/{}".format(outputApex)
header = {"TRN-Api-Key": apiApex}
reqUserApex = requests.get(UserUrlApex, headers=header)
responApex = reqUserApex.json()
test = responApex['data']
apexLevel = responApex['data']['stats'][0]['value']
apexRank = responApex['data']['stats'][0]['displayRank']
apexKills = responApex['data']['stats'][1]['displayValue']
apexDamage = responApex['data']['stats'][2]['displayValue']
如果它们不存在,则只需 display apexLevel
,否则会出现 404 错误......而且displayValue
可能displayRank
根本没有变量。
如何正确检查这些变量的存在?
检查字典的键。
dict_name.keys() 将返回字典的所有键,即您调用它们的变量。
因此,检查 displayValue 变量应如下所示:
如前所述,检查字典是否存在必要的信息是值得的。这可以在没有方法
dict.keys()
的情况下完成,操作符in
可以成功地使用字典:if
要检查是否存在多个键,您可以使用 heap编写一个大键and
,或者您可以将所有必要的键写入列表并循环:由于在示例中混合了列表和字典,因此您可以
need_keys
制作一个元组列表,并在那里编写所有必要的索引和键组合......但是有一种更简单的方法。一种无需初步检查且采用 Python 风格的方法。您可以将代码包装在
try
: