[Python] doppio backslash non va

Lawrence Oluyede l.oluyede a gmail.com
Ven 2 Feb 2007 17:43:26 CET


On 2/2/07, SMZE <smze a eutelia.com> wrote:
> Salve,
> ho la necessità di ottenere un backslash in una stringa. Leggendo la
> documentazione ho provato coi seguenti risultati:
>
>         Python 2.4.4c1 (#2, Oct 11 2006, 21:51:02)
>         [GCC 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)]
>         >>> '\\a'
>         '\\a'
>         >>> a='\\d'
>         >>> a
>         '\\d'
>         >>> a='\d'
>         >>> a
>         '\\d'
>         >>> a='\x'
>         ValueError: invalid \x escape
>         >>> a='\\x'
>         >>> a
>         '\\x'
>         >>> a=r'\x'
>         >>> a
>         '\\x'
>         >>>
>
> Il mio intento è quello di ottenere una stringa semplicissima: '\x'.

Non sbagli niente, '\' è un carattere speciale che serve a fare
l'escape quindi se vuoi evitare che 'x' venga interpretato come
stringa di controllo o carattere di escape devi raddoppiarlo.
L'interpreta si limita a farti vedere una stringa verbatim.

>>> a = r'\x'
>>> print a
\x
>>> a = '\\x'
>>> print a
\x


-- 
Lawrence
http://www.oluyede.org/blog
http://www.neropercaso.it


Maggiori informazioni sulla lista Python