HW 3 - problema con \n

B
Babby740 (1240 points)
19 35 39
asked Nov 5, 2019 in HW3 opzionale by Babby740 (1,240 points)
recategorized Nov 8, 2019 by andrea.sterbini
Come faccio a stampare il file privo di spazi o \n in modo da avere un'unica stringa tutta attaccata?
412 views

1 Answer

Best answer
E
Edward (25950 points)
2 4 172
answered Nov 5, 2019 by Edward (25,950 points)
selected Nov 5, 2019 by Babby740
Dipende da come leggi il file, se leggi una riga alla volta e le concateni, puoi usare le slice per prendere la stringa tranne l'ultimo carattere. E quindi aggiungere riga[:-1]

Altrimenti se leggi tutto il file puoi usare il metodo delle stringhe replace()

Spazi nel file non ce ne sono, solo \n
m
mel8 (1250 points)
0 12 19
commented Nov 6, 2019 by mel8 (1,250 points)
Leggendo una riga alla volta puoi anche usare il metodo .strip() che leva i caratteri speciali all'estremità della stringa (volendo si può usare anche .rstrip() che lo leva solamente a destra, proprio come serve per i \n)
E
Edward (25950 points)
2 4 172
commented Nov 6, 2019 by Edward (25,950 points)
Vero ma in genere io userei strip quando non sai quanti caratteri vanno tolti.

In questo caso sai che ce n'è solo uno, quindi lo slice ha più senso ed è più veloce
m
mel8 (1250 points)
0 12 19
commented Nov 6, 2019 by mel8 (1,250 points)
Certo, ma siccome l'operazione da fare è quella di eliminare un carattere speciale io useri la funzione realizzata apposta, ma ognuno ovviamente ha la sua opinione. Per quanto riguarda la velocità, nei test le righe prese singolarmente non sono poi così tanto lunghe, quindi i tempi sono più o meno identici, però eseguendo alcuni test ho notato che se prendiamo delle stringhe molto lunghe il metodo strip() è più veloce.