[Python] e = lp.parse(r'\x.(walk(x) & chew_gum(x))') -> ValueError: invalid \x escape

Marco Ippolito ippolito.marco a gmail.com
Mar 14 Gen 2014 10:17:57 CET


grazie Valerio.
scusami...il codice che scrivo è proprio questo:
lp = nltk.LogicParser()
e = lp.parse(r'\x.(walk(x) & chew_gum(x))')
print e

cosa sbaglio effettivamente?

Marco

Il 14 gennaio 2014 10:13, Valerio Maggio <valerio.maggio a gmail.com> ha scritto:
>
> On 14 Jan 2014, at 09:56, Marco Ippolito <ippolito.marco a gmail.com> wrote:
>
>> Ciao a tutti,
>> seguendo le indicazioni trovate qui: http://nltk.org/book/ch10
>>
>> ho scritto le seguenti righe di codice:
>> lp = nltk.LogicParser()
>> e = lp.parse(r'\x.(walk(x) & chew_gum(x))')
>> print
>>
>> output: ValueError: invalid \x escape
>
> Ciao Marco.
>
> Ho provato a replicare il tuo codice senza ottenere alcun errore.
> L'ho provato per scongiurare un possibile errore di implementazione in LogicParser (non si sa mai).
>
> L'unico caso che può provocare il tuo errore è che tu non faccia attenzione ad anteporre la `r` davanti la stringa in questione
> ( r —> "raw string" - i.e., nessun escape dei caratteri "speciali" è richiesto).
>
> Al contrario, senza l'uso di "raw string",  l'escape di caratteri come `\` è sempre necessario (vale a dire: `\\x` nel tuo esempio).
> Inutile sottolineare che la via di "raw string" è la più pulita.
>
> --
> valerio
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python


Maggiori informazioni sulla lista Python