Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

"Salto" fra linee di un testo

S
Shad87 (740 points)
7 9 11
in Programmare in Python by (740 points)
recategorized by
Esiste un modo per spostarsi di x linee in un file di testo senza necessariamente dover fare un ciclo che "cicla"  x volte?

Per esempio, se io voglio iniziare a leggere un file di testo dalla 10 linea, posso evitare di dover lanciare un for con range(10) in qualche modo?

Grazie.
608 views

2 Answers

E
Edward (25950 points)
4 4 172
by (26.0k points)
Se non vuoi usare il for (che comunque è un buon metodo e non è molto costoso), un'alternativa potrebbe essere quella di leggere tutto il file con f.readlines() (che ti crea una lista con dentro le righe del file), ed usare le slices.
Nel tuo esempio, se vuoi leggere dalla decima riga ti basterebbe fare testo = f.readlines()[10:].  Questo però ti carica tutto il file in memoria (dalla decima riga in poi).
S
Shad87 (740 points)
7 9 11
by (740 points)
Grazie 1000!
a
a.pietroluongo (11250 points)
20 39 131
by (11.3k points)
edited by
Con il metodo readlines() :

with open(ftesto) as f:
    a = f.readlines()[10:]

Oppure

with open(ftesto) as f:
        a = f.readline() # leggi una linea alla volta
        c = 0
        while c <10:
            a = f.readline()
            c += 1
        a = f.read() # leggi il file dalla linea 10
S
Shad87 (740 points)
7 9 11
by (740 points)
Grazie ;) !!!