Simple Object assignment giving me errors

Dave Angel davea at davea.name
Wed Feb 12 16:41:29 EST 2014


 Nir <nirchernia at gmail.com> Wrote in message:
> This is from the book 'dive into python'. I am trying to define jeez as being an instance of FileInfo.
> 
> class UserDict(object):
> 	def __init__(self, dict = None):
> 		self.data = {}
> 		if dict is not None: self.update(dict)
> 
> class FileInfo(UserDict):
> 	def __init__(self, filename=None):
> 		UserDict.__init__(self)
> 		self["name"] = filename
> 
> 
> jeez = FileInfo("yo")
> 
> 
> 
> 
> I get a TypeError: 'FileInfo' object doesn't support item assignment .
> 
> Am I missing something?
> 

Yes, you're missing the rest of the error message.  Show the
 whole thing, including the stack trace,  and I'm sure it'll be
 clear that the error happened long before jeez was involved.
 

I figure that the line in error is 
		self["name"] = filename

and that what you really need is 
		self.data ["name"] = filename

You also have a similar problem on the last line of the first class.

-- 
DaveA




More information about the Python-list mailing list