Перечислять, только если нет исключения - PullRequest
1 голос
/ 25 апреля 2020

У меня есть код, подобный следующему:

for index, img in enumerate(soup.find_all("img")):
    try:
        print(f"[{index}] {img['data-src']}")
    except KeyError:
        pass

Как видите, я должен использовать предложение try-exc, так как некоторые изображения, которые я просматриваю, не имеют ключа data-sr c (I я не могу сузить до спецификаций c div, которые содержат только изображения с data-sr c).

Я хочу, чтобы перечисление увеличивалось, только если нет исключения. Как это может быть сделано?

1 Ответ

4 голосов
/ 25 апреля 2020

Сначала фильтруйте только те img, которые имеют атрибут data-src, , а затем перечисляют:

for index, img in enumerate(x for x in soup.find_all("img") if 'data-src' in x):
    print(f"[{index}] {img['data-src']}")
...