#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