elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 05:13  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  [Python] Depurar un log
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Depurar un log  (Leído 503 veces)
Maski84

Desconectado Desconectado

Mensajes: 4


Ver Perfil
[Python] Depurar un log
« en: 27 Diciembre 2011, 18:02 »

Hola a Todos!!
Tengo un problema con python y he decidido la opción mas ruin... mendigar ayuda  XD

vamos al lio !

La idea principal es seleccionar solo la informacion que nos interese de  un log muy extenso (es información de servidores ) .Toda la info interesante la pasaremos a un nuevo .txt

En un primer paso he conseguido leer todo el primer log como texto y seleccionar solo los servidores que me interesan.

Peroooooooooo mi problema viene cuando quiero hacer mas restrictiva la busqueda .Solo quiero unas cuantas linias de cada servidor  (las que contengan por ejemplo la palabra "carpetaspersonales","home"... las demas no interesan para nada).

Ahora os pongo mi codigo y el momento en que me quedo pillado


serv = ("serv1","serv2","serv3")
var = ("home","carpetaspersonales")

with open('mylogoriginal.txt') as infile, open('mylogconerrores.txt', 'w') as outfile:
    for r in serv:
        for line in infile:
            if serv in line:
 *Aqui esta el problema! si pongo un segundo condicional con las palabras clave ("var" ) me peta,he intentado un "and" en el anterior..nada , NO lo entiendo!!!  :-X !!               
*

                    outfile.write(line)               
print ("fin")
input ()

Son mis primeros pasos en python por lo que supongo que el error puede estar tambien  en el enfoque del problema y su solución.  Agradecería cualquier aportación .

Muchas gracias por vuestro tiempo !!! y un SALUDO  desde este primer post!


« Última modificación: 27 Diciembre 2011, 18:27 por Maski84 » En línea
Maski84

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: [Python] Depurar un log
« Respuesta #1 en: 27 Diciembre 2011, 18:29 »

Editado porque le faltaba info.thx.


En línea
Novlucker
Ninja y
Moderador
***
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] Depurar un log
« Respuesta #2 en: 27 Diciembre 2011, 19:33 »

¿Y el error que se dispara cual es? Porque entre otras cosas veo que pones "if serv in line", cuando a mi parecer debería de ser "if r in line"

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Maski84

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: [Python] Depurar un log
« Respuesta #3 en: 27 Diciembre 2011, 20:00 »

Hola Novlucker,

Es verdad al copiar el codigo meti la zarpa, el bueno es este

serv = ("serv1","serv2","serv3")
var = ("home","carpetaspersonales")

with open('mylogoriginal.txt') as infile, open('mylogconerrores.txt', 'w') as outfile:
    for r in serv:
        for line in infile:
            if r in line:
                    outfile.write(line)               
print ("fin")
input ()

Cuando intento poner el segundo if para que dentro de la primera  seleccion de  linias solo me guarde las que tambien contengan las palabras clave contenidas en la lista   "var" me peta.Se cierra la consola de python de golpe y no me tira error.(edito con el idle que viene por defecto).No se como mostrarte el error que me pides.


Gracias y sorry por el zarpazo

En línea
Maski84

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: [Python] Depurar un log
« Respuesta #4 en: 28 Diciembre 2011, 20:04 »

Por si le sirve a alguien :

Busca en un log linia por linia la info que nos interesa, en el ejemplo servidores... serv1 serv2....  una vez que  encuentra las linias , solo nos interesan las que contengan información  concreta, en este ejemplo carpetas... "home","carpetaspersonales"......

serv = ("serv1","serv2","serv3")
var = ("home","carpetaspersonales")

for r in serv:
    with open('mylogoriginal.txt') as infile, open('mylogconerrores.txt',mode = 'a') as outfile:
      for line in infile:           
            if r in line:
                for x in var:
                    if x in line:
                        outfile.write(line)
print ("Fin")
                       
input ()

Seguro que hay una manera de hacerlo mas elegante o mejor o mas rapido.Si alguien la quiere compartir mejor. Lo posteo por si puede ayudar !

Saludos!
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Depurar?? WAP ZUUUUUP?? :p
Windows
Danger 3 478 Último mensaje 18 Marzo 2004, 17:01
por SpeDhy
Depurar en el Eclipse
Programación General
dekland 0 297 Último mensaje 9 Junio 2006, 19:52
por dekland
error, depurar!
Dudas Generales
NaXo__ 1 330 Último mensaje 8 Junio 2007, 06:23
por rain_in!the!_universe
Ayuda al depurar
Programación C/C++
forerito 2 513 Último mensaje 26 Agosto 2009, 06:44
por forerito
Depurar
Java
energiasolartermica 3 562 Último mensaje 19 Abril 2011, 09:57
por energiasolartermica
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines