I am using python 3.9
I have a class called ImageMetaData
class ImageMetadata(BaseModel):
title: Optional[str] = None
source: Optional[str] = None
sourcesubtype: Optional[str] = None
filesize: Optional[int] = None
url: Optional[str] = None
and a function
def total_filesize(images: List[ImageMetadata]):
total = 0
try:
for i in images:
total = total i.filesize
except BaseException as ex:
logger.error("Caught exception trying to compute total filesize for images", exc_info=True)
return total
I get an error about AttributeError:
‘dict’ object has no attribute ‘filesize’
Am I missing something?
CodePudding user response:
"filesize"
is a dictionary key, not an attribute. Use i["filesize"]
, not i.filesize
. This is not the same.
CodePudding user response:
You should modify the function total_filesize
. Try like this:
def total_filesize(images: List[ImageMetadata]):
total = 0
try:
for i in images:
total = total i["filesize"]
except BaseException as ex:
logger.error("Caught exception trying to compute total filesize for images", exc_info=True)
return total