Код цикла Python с помощью try:

#python-3.x #loops

Вопрос:

При очистке списка файлов json иногда файлы отсутствуют и не могут быть загружены. В моем скрипте python, когда происходит этот случай, скрипт выводит сообщение об ошибке

json.decoder.JSONDecodeError : Ожидаемое значение: ссылка 1 столбец 1 (символ 0)

Как я могу попросить скрипт продолжить цикл в случае ошибки ? Я попытался поставить и попробовать: за исключением, но безуспешно (ошибка отступа)

Это и есть код :

 RACE_L = x1["pageProps"]["initialState"]["racecards"]["races"][today2] for r1 in RACE_L:  id_race = r1["uuid"]  link2go = link_append   id_race   '.json'  n1 = "races"  n12 = "races"  n2 = r1["uuid"]  name1 = n12   '-'   n2  name1 = today2   '_'   name1   '.json'  with open(path  '%s' %name1,'w',encoding='utf-8') as f2:  print('Writing %s into file' %name1)  r3 = requests.get(link2go, headers=headers)  sleep(2)  x3 = r3.json()  json.dump(x3, f2, indent=4, ensure_ascii=False)  

Комментарии:

1. где код, в котором вы пытались поставить «попробуйте и кроме блокировки»?

2. чуть ниже для r1 в RACE_L:

Ответ №1:

поставьте блоки «попробовать и кроме» таким образом-

 RACE_L = x1["pageProps"]["initialState"]["racecards"]["races"][today2] for r1 in RACE_L:  try:  id_race = r1["uuid"]  link2go = link_append   id_race   '.json'  n1 = "races"  n12 = "races"  n2 = r1["uuid"]  name1 = n12   '-'   n2  name1 = today2   '_'   name1   '.json'  with open(path  '%s' %name1,'w',encoding='utf-8') as f2:  print('Writing %s into file' %name1)  r3 = requests.get(link2go, headers=headers)  sleep(2)  x3 = r3.json()  json.dump(x3, f2, indent=4, ensure_ascii=False)  except:  pass