Siendo este mi primer post dentro del foro mando saludos a todos y les comento sobre una consulta que tengo sobre un script en python que me encuentro haciendo.
Dentro de mi servidor tengo una serie de archivos de log que se generan x tiempo, lo que yo necesito hacer es tomar esos archivos, ofuscar un campo determinado de cada uno de estos archivos, y una vez que lo hace se debe crear por cada archivo analizado otro archivo de salida en donde se muestre el contenido del archivo pero con el campo ofuscado y todo lo demas igual.
He hecho un script como este:
----------------------------------------------------------
Código Python:
--------------------------------------------------------------------------Ver original
#!/usr/bin/env python # -*- coding: utf-8 -*- # # import os import glob def rot47(s): x = [] for i in xrange(len(s)): j = ord(s[i]) if j >= 33 and j <= 126: x.append(chr(33 + ((j + 14) % 94))) else: x.append(s[i]) return ''.join(x) list_of_files = glob.glob('/ruta/archivos/test_ofus/*.log') for file_name in list_of_files: origen = open(file_name, 'r') destino = open(file_name + ".txt", "w") for test in origen.readlines(): split=test.split("|") lineas=test.replace(split[4],rot47(split[4])) destino.write(lineas) origen.close() destino.close()
lo anterior lo realizo con rot47 para el ofuscado. El problema es que si el archivo origen tiene 4 lineas, en el archivo destino solo crea 1 y si hay mas archivos a generar se generan con 0 lineas, es decir, unicamente lee una linea del archivo en cuestion siendo q tiene más.
Esa sería mi consulta, espeor puedan apoyarme y darme algunas sugerencias al respecto.
Muchas gracias, saludos a todos.
Atte. ingtux