Python- Leer línia archivo bucle[Solucionado]

Iniciado por ¨°o.O (ßa¢Kg|姧) O.o°, 27 Marzo 2010, 16:19 PM

0 Miembros y 1 Visitante están viendo este tema.

¨°o.O (ßa¢Kg|姧) O.o°

Hola,

Llevo ya 2 horas mirando como puedo hacer que de un archivo de texto recorrerlo completamente línia a línia y si coincide con una linia entonces haga una cosa que es saltar de línia por ejemplo si se encuentra una coincidencia que es por ejemplo:
-->"Alejandro Jussdcggd"

Si entonces se encuentra coja la línia y salte de línia por ejemplo si -->"Alejandro Jussdcggd" esta en la línia 4 que coja la línia 4 y le sume 3 para ir a la línia "vdasd"

Os dejo la porción del código que tengo hecho.

Código (python) [Seleccionar]
if __name__ == "__main__":
   f= open('/home/alejandro/Escritorio/s.php')
   for linas in f:
       if linas.startswith('-->"Alejandro Jussdcggd"'):
           v= linas+3 #Fallo aquí
           print v


h0oke

 :-\ Es medio confusa tu explicación...

Pero lo que puedo aprecia en

Código (python) [Seleccionar]
v = linas + 3

Es que tu tienes un elemento de la secuencia y no precisamente un valor entero del índice de tu lista. Creo que lo mejor es utilizar un ciclo incondicionado a través de range().

¨°o.O (ßa¢Kg|姧) O.o°

Hola,
Ando medio confuso, si aquí v = linas + 3 falla pero, mi idea es que dentro del condicional salte directamente de a partir de esa linia salte osea pase directamente a la 4 si una coincidencia esta en 1.
No se si me explico, soy nuevo en python, vengo de c# de Win$
Saludos

h0oke

Es que en la teoría de archivos de textos, se define que estos ficheros son de acceso secuencial...  :-\ es decir que teóricamente es imposible saltar líneas en cualquier lenguaje...

¨°o.O (ßa¢Kg|姧) O.o°

En c# hay las list<string>() pero en python.
en list ponia todas las linias del fichero y desde ahi hacia el foreach pero en python no lo sé alguna ayuda?

h0oke

Puedes insertar en una lista l cada elemento(línea) de tu bucle. Luego directamente trabajas con tu "lista de strings" como realmente necesitas.

¨°o.O (ßa¢Kg|姧) O.o°

Puff que mal.. llevo solo 3 dias con python y no lo se usar aun..

me salta el error este

Traceback (most recent call last):
  File "/home/alejandro/NetBeansProjects/s/src/s.py", line 5, in <module>
    list = list(linas)
TypeError: 'list' object is not callable

Me podrias ayudar ya que estoy acostumbrado a c# y ahora con otro lenguaje.. xD

Código (python) [Seleccionar]
if __name__ == "__main__":
    f= open('/home/alejandro/Escritorio/s.php')
    x=f.readlines()
    for linas in x:
        list = list(linas)
        for xx in list:
            print xx

h0oke

Código (python) [Seleccionar]
l = []
for elemento in a:
     l.append(elemento)