итератор цикла for как переменная
Пишу небольшую програмку для роботы с EXIF данными(метаданными) Дошел к этапу где нужно красиво вывести все метки
filename = input("->")
with open(filename, 'rb') as file:
file = Image(file)
if file.has_exif == True:
print(Align("Succes! EXIF data finded!", style="green"))
file_exif_data = file.list_all()
for i in file_exif_data:
print(i + file.i)
Но библиотека ищет значение i
в метаданных, а не использует переменную:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\exif\_app1_metadata.py", line 591, in __getattr__
attribute_id = ATTRIBUTE_ID_MAP[item.lower()]
KeyError: 'i'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\all\failes\scripts\exiff\main.py", line 43, in <module>
print(file.i)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\exif\_image.py", line 104, in __getattr__
return getattr(self._segments["APP1"], item)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\exif\_app1_metadata.py", line 593, in __getattr__
raise AttributeError(f"unknown image attribute {item}")
AttributeError: unknown image attribute i
Источник: Stack Overflow на русском