Dopo la mail di Nicola che mi pareva chiarissima (complimenti Nicola!) non pensavo di dovere aggiungere nulla... ma visto che il problema rimane provo a cimentarmi con la risposta...
1. un amico mi diceva, e ne ho fatto tesoro, che in informatica non si può avere una comprensione parziale, del tipo 'capirò meglio questa parte dopo intanto cogliamo il senso'. Mi spiego a = r'\x' non procedere se non capisci cosa sia quella piccola 'r' Analogamente per la parola 'proteggere', se non la comprendi non capirai cosa significhi che la prima \ serve per proteggere l'interpretazione della seconda, ovvero fare in modo che la seconda venga interpretata come carattere semplice e non come modificatore del modo di interpretare il carattere successivo. 2. ascii code 92 > >>> chr(92) > '\\' > > Dalli con due caratteri! > > >>> print chr(92) > \ man ascii o se non hai un sistema linux a disposizione quarda qui: http://www.pluto.it/files/ildp/man/man7/ascii.7.html, vai al Decimal 92 e ci trovi: 134 92 5C \ '\\' Qui python non c'entra eppure ecco tornare il fatto che il carattere '\' viene *rappresentato* così '\\' quindi a = r'\x'è equivalente ad a = '\\x' >>>print len(a), ord(a[0]), ord(a[1]) 2 92 120 mostra senza più dubbio che a è di due caratteri il cui primo è \ ed il secondo x (la cui codifica decimale è 120), ma che per "scrivere" \ servono due caratteri nel modo normale o uno nel modo 'raw' (la r...), e siccome ne servono due per chiarezza quando chiedi all'interprete cosa c'è in a ti mostra quello che ci devi scrivere. Sintesi. Ti disorienta che: * per scrivere un carattere ne servan due * che dove ne servan due a volte (modo 'r') ne basti uno * che >>> print a e >>> a rappresentino il dato in modod differente vuoi scrivere 0f -> \xof? >>> a = '\\x%s' % '0f' >>> print a \x0f Se hai ancora problemi, fidati che python queste cose le capisce, e semmai posta il codice che non funziona... sandro *;-) PS: t'è andata bene che non ti stai ciemntando con il tcl, c'è un caso celebre che non ricordo dove stia, in cui servono 16 o 32 '\' per ottenere quello che si desidera... _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python