Author benjamin.peterson
Recipients benjamin.peterson, pitrou, stutzbach
Date 2010-09-15.15:51:08
SpamBayes Score 6.47213e-07
Marked as misclassified No
Message-id <>
In-reply-to <>
2010/9/15 Daniel Stutzbach <>:
> Daniel Stutzbach <> added the comment:
>> These attributes exist; they're just not properties.
> Yes, I see.  They're added to the instance in the constructor, so they don't exist as attributes of the class.  Also in that category:
> BlockingIOError python is missing: ['characters_written']
> That leaves:
> RawIOBase C is missing: ['readinto', 'write']
> StringIO C is missing: ['name']
> StringIO python is missing: ['__getstate__', '__setstate__']
> BytesIO python is missing: ['__setstate__']

I'm not sure if this pickling stuff matters as long as they both pickle.

> The Python version of StringIO throws an AttributeException on the .name attribute.  It's a property inherited from the TextIOWrapper.  Effectively, TextIOWrapper provides the .name attribute if the object that it's wrapping provides the .name attribute.  This behavior is undocumented.
> Is that reasonable behavior?  Or should TextIOWrapper define .name always and return some suitable value if the wrapped object doesn't define .name? (e.g., None)

Yes, all the code expects an AttributeError on name is it's not
present. For example, FileIO only sets its name attribute if it is
passed a filename and not an fd.
Date User Action Args
2010-09-15 15:51:10benjamin.petersonsetrecipients: + benjamin.peterson, pitrou, stutzbach
2010-09-15 15:51:09benjamin.petersonlinkissue9858 messages
2010-09-15 15:51:08benjamin.petersoncreate