Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ¨°o.O (ßa¢Kg|姧) O.o° en 27 Marzo 2010, 16:19 pm



Título: Python- Leer línia archivo bucle[Solucionado]
Publicado por: ¨°o.O (ßa¢Kg|姧) O.o° en 27 Marzo 2010, 16:19 pm
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
  1. if __name__ == "__main__":
  2.    f= open('/home/alejandro/Escritorio/s.php')
  3.    for linas in f:
  4.        if linas.startswith('-->"Alejandro Jussdcggd"'):
  5.            v= linas+3 #Fallo aquí
  6.            print v


Título: Re: Python- Leer línia archivo bucle
Publicado por: h0oke en 27 Marzo 2010, 16:34 pm
 :-\ Es medio confusa tu explicación...

Pero lo que puedo aprecia en

Código
  1. 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().


Título: Re: Python- Leer línia archivo bucle
Publicado por: ¨°o.O (ßa¢Kg|姧) O.o° en 27 Marzo 2010, 16:42 pm
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


Título: Re: Python- Leer línia archivo bucle
Publicado por: h0oke en 27 Marzo 2010, 16:49 pm
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...


Título: Re: Python- Leer línia archivo bucle
Publicado por: ¨°o.O (ßa¢Kg|姧) O.o° en 27 Marzo 2010, 16:54 pm
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?


Título: Re: Python- Leer línia archivo bucle
Publicado por: h0oke en 27 Marzo 2010, 16:58 pm
Puedes insertar en una lista l cada elemento(línea) de tu bucle. Luego directamente trabajas con tu "lista de strings" como realmente necesitas.


Título: Re: Python- Leer línia archivo bucle
Publicado por: ¨°o.O (ßa¢Kg|姧) O.o° en 27 Marzo 2010, 17:15 pm
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
  1. if __name__ == "__main__":
  2.    f= open('/home/alejandro/Escritorio/s.php')
  3.    x=f.readlines()
  4.    for linas in x:
  5.        list = list(linas)
  6.        for xx in list:
  7.            print xx


Título: Re: Python- Leer línia archivo bucle
Publicado por: h0oke en 27 Marzo 2010, 17:25 pm
Código
  1. l = []
  2. for elemento in a:
  3.     l.append(elemento)