Я использую стандартный синтаксис try / исключением для пропуска строк в файле csv, которые не передаются должным образом и поэтому не могут быть загружены. Мой код:
for row in list_reader:
media_id = row['mediaId']
filename = row['mediaId']
saveFile = media.get_item(media_id)
stream_url = saveFile['streams'][0]['streamLocation']
try:
r = requests.get(stream_url, allow_redirects=True)
with open(os.path.join('./media', filename), 'wb') as ofile:
ofile.write(r.content)
counter += 1
except:
IndexError
print "error"
Однако после загрузки ряда файлов появляется строка с ошибкой, ошибка не обрабатывается, и я получаю сообщение об ошибке:
Traceback (most recent call last):
File "downloadmedia.py", line 28, in <module>
stream_url = saveFile['streams'][0]['streamLocation']
IndexError: list index out of range
Я пробовал вместо этого используется синтаксис if / else, использующий длину переменной stream_url, но это выдает ту же ошибку. Может кто-нибудь объяснить, почему не работает обработка ошибок?