Author: guido.van.rossum Date: Mon Jul 30 20:11:00 2007 New Revision: 56630 Modified: peps/trunk/pep-3116.txt Log: Add support for newline='\r', for some Mac apps that still write those. Modified: peps/trunk/pep-3116.txt ============================================================================== --- peps/trunk/pep-3116.txt (original) +++ peps/trunk/pep-3116.txt Mon Jul 30 20:11:00 2007 @@ -346,13 +346,16 @@ an encoding to be used for translating between the byte-representation and character-representation. If it is ``None``, then the system's locale setting will be used as the - default. ``newline`` can be ``None``, ``'\n'``, or ``'\r\n'`` - (all other values are illegal); it indicates the translation - for ``'\n'`` characters written. If ``None``, a + default. ``newline`` can be ``None``, ``'\n'``, ``'\r'``, or + ``'\r\n'`` (all other values are illegal); it indicates the + translation for ``'\n'`` characters written. If ``None``, a system-specific default is chosen, i.e., ``'\r\n'`` on Windows and ``'\n'`` on Unix/Linux. Setting ``newline='\n'`` on input means that no CRLF translation is done; lines ending in - ``'\r\n'`` will be returned as ``'\r\n'``. + ``'\r\n'`` will be returned as ``'\r\n'``. (``'\r'`` support + is still needed for some OSX applications that produce files + using ``'\r'`` line endings; Excel (when exporting to text) + and Adobe Illustrator EPS files are the most common examples. Another implementation, ``StringIO``, creates a file-like ``TextIO`` implementation without an underlying Buffered I/O object. While @@ -419,7 +422,7 @@ assert isinstance(mode, str) assert buffering is None or isinstance(buffering, int) assert encoding is None or isinstance(encoding, str) - assert newline in (None, "\n", "\r\n") + assert newline in (None, "\n", "\r", "\r\n") modes = set(mode) if modes - set("arwb+t") or len(mode) > len(modes): raise ValueError("invalid mode: %r" % mode)
participants (1)
-
guido.van.rossum