Note sulla concatenazione di stringhe in Python

Autore: Calogero Bonasia www.odisseo.info
Ultima revisione: 11 Settembre 2008

Recentemente ho dovuto occuparmi per lavoro della gestione delle stringhe con Python. Veniamo al sodo. I comandi da conoscere sono: expand e cat. Supponiamo un file tabulato.txt che contenga la stringa “qwertyuiop” con ciascuna lettera separata da una tabulazione.

Per visualizzare la presenza di questo carattere occorre impartire il comando (Linux):

cat -t -v tabulato.txt 

Il risultato sarebbe:

q^Iw^Ie^Ir^It^Iy^Iu^Ii^Io^Ip

Sempre da shell Linux, per scegliere di sostituire le tabulazioni con dieci caratteri di spazio, si scriverà:

expand -10 tabulato.txt | cat -t -v 

Sostituendo -10 con -2 il numero degli spazi sarà due e così via…

Con Python, se vuoi tutti i caratteri tranne l’ultimo (di solito “\n”, il ritorno a capo), metti al posto di line, line[:-1]. Se necessario, lo puoi aggiungere alla fine delle operazioni con +“\n”.

Il metodo str.rstrip() elimina le occorrenze del carattere passato come argomento dalla fine della stringa. Puoi anche usarlo senza argomento: in questo caso elimina tutti i whitespace (spazi, tab, ritorno a capo) dalla fine della stringa.

Sarebbe meglio non concatenare stringhe… se proprio necessario, è molto meglio usare

' '.join(lista_di_stringhe)

In questo modo eviti di creare un gran numero di stringhe intermedie che vengono poi scartate. In questo modo hai controllo sul carattere che usi per concatenare che può essere quello che vuoi, magari '\n' oppure ''.