elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  [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 3,625 veces)
Maski84

Desconectado Desconectado

Mensajes: 4


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

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 pm 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 pm »

Editado porque le faltaba info.thx.


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


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

¿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
"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 pm »

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 pm »

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
Java
energiasolartermica 3 3,700 Último mensaje 19 Abril 2011, 09:57 am
por energiasolartermica
Error al depurar
Programación C/C++
BrokerJoker 5 5,105 Último mensaje 28 Enero 2012, 17:00 pm
por satu
Evitar cuelges en Hooks al depurar
Programación C/C++
x64core 0 1,378 Último mensaje 28 Enero 2012, 04:25 am
por x64core
Depurar ODBC
Bases de Datos
novalida 0 1,907 Último mensaje 21 Mayo 2012, 23:39 pm
por novalida
Depurar un driver?
Programación C/C++
x64core 5 2,986 Último mensaje 29 Mayo 2012, 11:39 am
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines