Escapeism

Hendrik van Rooyen mail at microcorp.co.za
Sun Oct 1 09:39:29 CEST 2006


"Kay Schluehr" <kay.schluehr at gmx.net> wrote:

> Sybren Stuvel wrote:
> > Kay Schluehr enlightened us with:
> > > Usually I struggle a short while with \ and either succeed or give up.
> > > Today I'm in a different mood and don't give up. So here is my
> > > question:
> > >
> > > You have an unknown character string c such as '\n' , '\a' , '\7' etc.
> > >
> > > How do you echo them using print?
> > >
> > > print_str( c ) prints representation '\a' to stdout for c = '\a'
> > > print_str( c ) prints representation '\n' for c = '\n'
> > > ...
> > >
> > > It is required that not a beep or a linebreak shall be printed.
> >
> > try "print repr(c)".
>
> This yields the hexadecimal representation of the ASCII character and
> does not simply echo the keystrokes '\' and 'a' for '\a' ignoring the
> escape semantics. One way to achieve this naturally is by prefixing
> '\a' with r where r'\a' indicates a "raw" string. But unfortunately
> "rawrification" applies only to string literals and not to string
> objects ( such as c ). I consider creating a table consisting of pairs
> {'\0': r'\0','\1': r'\1',...}  i.e. a handcrafted mapping but maybe
> I've overlooked some simple function or trick that does the same for
> me.
>
> Kay

dumb question - is the backslash as escape character fixed or can one set its
(the escape char's)
value so that backslash is not the escape char?

seems to me that would help - or if you could turn the behaviour off - don't
know how though...

- Hendrik






More information about the Python-list mailing list