Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #17938 > unrolled thread
| Started by | MRAB <python@mrabarnett.plus.com> |
|---|---|
| First post | 2011-12-26 01:26 +0000 |
| Last post | 2011-12-26 01:26 +0000 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.lang.python
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Backslash Escapes MRAB <python@mrabarnett.plus.com> - 2011-12-26 01:26 +0000
| From | MRAB <python@mrabarnett.plus.com> |
|---|---|
| Date | 2011-12-26 01:26 +0000 |
| Subject | Re: Backslash Escapes |
| Message-ID | <mailman.4088.1324862806.27778.python-list@python.org> |
On 26/12/2011 01:04, Felipe O wrote:
> Hi all,
> Whenever I take any input (raw_input, of course!) or I read from a
> file, etc., any backslashes get escaped automatically. Is there any
> elegant way of parsing the backslashes as though they were written in
> a python string. The best I have so far right now goes like this:
>
> def parse_backslash_escapes(input_string):
> parts = input_string.split("'''") # That's ' " " " ' without the spaces
> '"""'.join(eval + p + '"""') for p in parts)
>
> I'm not entirely convinced that it's safe on two accounts.
> + Is that eval statement safe? The input could be coming from an
> unfriendly source.
> + Are there any obscure backslash escapes or other tricks I should be aware of?
>
> I guess the alternative is to make a dictionary of all the escapes I
> want to support, but that sounds tedious and error-prone.
>
Try input_string.decode("string-escape") if input_string is a
bytestring or input_string.decode("unicode-escape") it's a Unicode
string.
Back to top | Article view | comp.lang.python
csiph-web