Amaury Forgeot d'Arc <[EMAIL PROTECTED]> added the comment: The attached patch is an attempt to set mode and name attributes to all three objects in the IO stack. For example, >>> f = open("foo", "U+") >>> f.buffer.name, f.buffer.mode ('foo', 'r+')
See also the unit tests. There is a little inconsistency that I don't know how to resolve: with my patch, the mode does not round-trip: open(name, mode).mode is not always equal to mode: >>> f = open("foo", "rb") >>> f.name, f.mode ('t', 'r') The 'b' was removed because f is already a binary file returning bytes. But it seems better than attaching the initial mode to the FileIO object. Currently, >>> io.open("foo", "Ub+", buffering=0) _fileio._FileIO(3, 'r+') >>> io.open("foo", "Ub+", buffering=0).mode 'Ub+' Which is even more surprising IMO. ---------- keywords: +needs review, patch nosy: +amaury.forgeotdarc Added file: http://bugs.python.org/file12072/fileio_attributes.patch _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue4362> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com