Eric Brunel wrote: > I just found a problem in the xreadlines method/module when used with > codecs.open: the codec specified in the open does not seem to be taken > into account by xreadlines which also returns byte-strings instead of > unicode strings.
> So f.xreadlines does not work, but xreadlines.xreadlines(f) does. And this > happens in Python 2.3, but also in Python 2.1, where the implementation > for f.xreadlines() calls xreadlines.xreadlines(f) (?!?). Something's > escaping me here... Reading the source didn't help. codecs.StreamReaderWriter seems to delegate everything it doesn't implement itself to the underlying file instance which is ignorant of the encoding. The culprit: def __getattr__(self, name, getattr=getattr): """ Inherit all other methods from the underlying stream. """ return getattr(self.stream, name) > At least, it does provide a workaround... Note that the xreadlines module hasn't made it into Python 2.4. Peter -- http://mail.python.org/mailman/listinfo/python-list