[Python-Dev] Strings: '\012' -> '\n'
Eric S. Raymond
Mon, 15 Jan 2001 18:15:50 -0500
Ka-Ping Yee <email@example.com>:
> I don't know whether this is going to be obvious or controversial,
> but here goes. Most of the time we're used to seeing a newline as
> '\n', not as '\012', and newlines are typed in as '\n'.
> A newcomer to Python is likely to do
> >>> 'hello\n'
> and ask "what's \012?" -- whereupon one has to explain that it's an
> octal escape, that 012 in octal equals 10, and that chr(10) is
> newline, which is the same as '\n'. You're bound to run into this,
> and you'll see \012 a lot, because \n is such a common character.
> Aside from being slightly more frightening, '\012' also takes up
> twice as many characters as necessary.
> So... i'm submitting a patch that causes the three most common
> special whitespace characters, '\n', '\r', and '\t', to appear in
> their natural form rather than as octal escapes when strings are
> printed and repr()ed.
Works for me. I'd add \v, \b and \a to cover the whole ANSI C
standard escape set (hmmm...am I missing any?)
<a href="http://www.tuxedo.org/~esr/">Eric S. Raymond</a>
Live free or die; death is not the worst of evils.
-- General George Stark.