[Python] Stringhe e \n

2008-03-26 Per discussione Mattia
Ciao a tutti,

mi sono da poco avvicinato a questo linguaggio.
Mi sono imbattuto in questo penso banale problema che non riesco a
risolvere:

f = open('/etc/hostname', 'r')
hostname = f.readline()
f.close()

print hostname,

sub = 'Message from %s'% hostname
print sub
sub = 'Message from %s'% hostname,
print sub
sub = 'Message from '+ hostname
print sub
sub = 'Message from ', hostname
print sub

hostname contiene un newline alla fine e non riesco a cancellarlo.

C'è un modo?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Stringhe e \n

2008-03-26 Per discussione Facundo Batista
2008/3/26, Mattia <[EMAIL PROTECTED]>:

>  mi sono da poco avvicinato a questo linguaggio.
>  Mi sono imbattuto in questo penso banale problema che non riesco a
>  risolvere:
>
>  f = open('/etc/hostname', 'r')
>  hostname = f.readline()
>  f.close()

Il strip() cancela il \n, spaces, and tabs:

>>> "foobar\n".strip()
'foobar'

Anche puoi fare:

>>> "foobar\n"[:-1]
'foobar'

(io preferisco il strip)

Saluti!

-- 
.Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Stringhe e \n

2008-03-26 Per discussione Enrico Franchi



On 3/26/08 12:54 PM, "Facundo Batista" <[EMAIL PROTECTED]> wrote:

> (io preferisco il strip)

Anche io. Anche perché se hai a che fare con un ben noto sistema operativo
*o* con stringhe provenienti da rete (dove per su molti protocolli lo
standard è CR LF strip non fa una piega, [:-1] da risultato sbagliato.

Non solo: strip *dichiara* che il programmatore vuole liberarsi di spazi et
similia. [:-1] non è altrettanto chiacchierone. Tolgo l'ultimo carattere
'perché'? Perché uno e per quale motivo? E' una virgola? Si, no. E se non
c'è l'a capo finale?

Insomma, se io voglio 'togliere gli a capo' chiamo una funzione che mi
toglie gli a capo. Se voglio togliere l'ultimo carattere, chiamo una
funzione che toglie l'ultimo carattere. :)

Dichiarare è meglio che comandare, a patto che qualcuno poi esegua. :P


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Stringhe e \n

2008-03-26 Per discussione Mattia
On Wed, 26 Mar 2008 08:54:22 -0300
"Facundo Batista" <[EMAIL PROTECTED]> wrote:

> Il strip() cancela il \n, spaces, and tabs:

Grazie! Cercavo proprio questo!

Mattia
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python