[Python-es] Buscar palabras en un archivo
Manuel Enrique González Ramírez
maengora en gmail.com
Jue Jun 26 17:03:28 CEST 2014
Compañero,
A ver si te sirve este pequeño código que hice creo que hace dos años
cuando surgió la necesidad en la empresa de generar unos reportes en base a
los logs que dejaba un servidor:
import os
# Solicito el nombre del archivo a analizar
narchivo = raw_input('Archivo log a analizar: ')
try:
# Abro el archivo para la lectura
archivo = open(narchivo,'r')
# Inicio el contador
cENV = 0
cREC = 0
cE50 = 0
cE20 = 0
# Inicio el bucle que lee el archivo
# y agrego la condicion que busca la palabra
for linea in archivo:
if linea.find('ENV') >= 0:
cENV += 1
if linea.find('REC') >= 0:
cREC += 1
if linea.find('50 null') >= 0:
cE50 += 1
if linea.find('20 Operador') >= 0:
cE20 += 1
# Cierro el Archivo
archivo.close()
print 'Total solicitudes enviadas: ',cENV + 1
print 'Total solicitudes recibidas: ',cREC + 1
print 'Total respuesto 50 null: ',cE50 + 1
print 'Total respuesta 20 Operador no responde: ',cE20 + 1
except IOError:
print 'El archivo indicado no existe'
El 8 de junio de 2014, 5:05, ruben linux <rubia.linux en gmail.com> escribió:
> Saludos a todos, este es mi primer correo a la lista.
>
> Estoy empezando con Python, y este me pareció un buen sitio para empezar y
> aprender. Decirnos antes de nada que este tema ya se lo busque en Google, y
> no doy con la respuesta adecuada, o la que me soluciona el problema.
>
> Como parte de mi aprendizaje, me he propuesto hacer un suripanta que
> busque palabras en un archivo, esta palabras están en otro archivo. Os dejo
> un trozo del código
> ...
> for line in file (a, 'r')
> if palabra in líne:
> print line
>
> palabra es una función que lee el archivo fuente, donde se encuentran las
> palabras que quiero buscar. Esté el el fallo que me devuelve:
>
> TypeError: 'in <string>' requires string as left operand! nota file
>
> Entiendo que no le puedo pasar a if un archivo, ni una función, sólo
> palabras, y eso es lo que no se hacer. Necesito qué me guíen.
>
> Tal vez usando listas... En tal caso cual es el tamaño máximo de una
> lista???.
>
> Gracias a todos.
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
--
Manuel Enrique González Ramírez
http://maengora.blogspot.com <http://maengora.com>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140626/63e9f6b2/attachment.html>
Más información sobre la lista de distribución Python-es