[Python-3000] New io system and binary data

Terry Reedy tjreedy at udel.edu
Thu Sep 20 03:24:04 CEST 2007


"Guido van Rossum" <guido at python.org> wrote in message 
news:ca471dc20709191019k2f5e16e5j75767b25ddf90e30 at mail.gmail.com...
| Changing the mode between text and binary is not feasible (since it
| would have to change the class). But it is perfectly acceptable to use
| sys.std{in,out}.buffer if you need to write a binary transparent
| filter.

In PEP 3116, the Buffered I/O section has
Additionally, the abstract base class provides one member variable:
    .raw
        A reference to the underlying RawIOBase object.

The Text I/O section does *not* have, but I presume should, similar lines 
about member variable .buffer.

Perhaps a note could be added that stdin/out will be Text I/O and that the 
bytes buffer is easily unwrapped via .buffer (and even via .raw).

While I sympathize with the initial surprise, I am willing to type .buffer 
should I need to.  The real problem is that 2to3.py cannot do so 
automatically (and be always. and probably not even usually, correct).

tjr





More information about the Python-3000 mailing list