Как сделать в цикле исключение, продолжение работы скрипта?
подскажите , как сделать в цикле исключения. Пример:
user_json = json.loads(req.text)
for acc in user_json['result']['per']:
try:
if user_json['result']['per'] is not None:
account.append(str(acc['name']))
else:
account.append("mail.ru")
except:
account.append("mail.ru")
Такие решения не работаю, так как если в результате запросы в json нет значения result, скрипт падает
for acc in user_json['result']['per']:
KeyError: 'result'
, а мне надо что бы если даже значения не было, он добавил значение по умолчанию в данном случае mail.ru
p.s. иногда в итерациях не приходят значениях , те что в result, их нет, так вот на этом моменте скрипт падает, а мне надо что бы итерации дальше продолжались
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
может вот такой способ поможет?
user_json = {'result': {'per': [{}, {'name': 'test'}]}}
account = []
try:
for acc in user_json['result']['per']:
try:
account.append(acc['name'])
except:
account.append("mail.ru")
except:
account.append("mail.ru")
print(account)
мне кажется вы try..except просто некорректно расставили
Автор решения: GrAnd
→ Ссылка
В одну строчку:
account = [acc.get('name', "mail.ru") for acc in (user_json['result']['per'] if 'result' in user_json and 'per' in user_json['result'] else [{}])]