Вы вносите изменения в словарь, просматривая его в exif[name] = exif.pop(key)
. Это не только ошибка времени выполнения, но и анти-шаблон. Поскольку вы обращаетесь к словарю внутри для l oop, любые изменения в словаре сделают бесполезным для l oop и, следовательно, RuntimeError
. Для вашего случая использования, похоже, что вы пытаетесь (как бы) перевернуть словарь, то есть превратить ключи в значения, и наоборот, вы можете легко сделать это с помощью словарного понимания
exif = {TAGS.get(key, key): key for key, value in exif.items()}
и аналогично для остальных l oop.