Python - Guardar variables en un archivo plano - Python

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 19 puestos en Python (en relación al último mes)
Gráfica de Python

Guardar variables en un archivo plano - Python

Publicado por Sebastian (3 intervenciones) el 15/01/2020 17:36:36
Buen dia, hasta ahora estoy incursionando en el mundo de Python y me surge una pregunta que suponque que sera algo muy basico.
En este codigo, la variable files, guarda nombres de unos logs que se encuentran en un directorio, y file_dir guarda la ruta completa de estos archivos. Estos logs guardan el seguimiento de procesos ETL, asi que necesito reconocer cual de estos archivos termino de manera satisfactoria y cual tuvo algun error en su ejecucion.
Intente guardar todos los elementos que no cumplieran la condicion en una nueva lista pero guarda todos los archivos que se encuentran en la lista original.
Hay alguna manera mas optima de reconocer cuales archivos terminaron bien o mal? O que se debe corregir en este codigo.
Gracias de antemano.

EDIT: Reconozco los logs que terminaron bien solo porque en el contenido de cada uno de ellos tengan la palabra "Finished!"



Codigo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Guardar variables en un archivo plano - Python

Publicado por Joel (901 intervenciones) el 16/01/2020 08:15:55
Hola Sebastian, exactamente que contenido tiene un archivo que ha terminado correctamente, una sola linea?

Si puedes, podrías mostrar el código de un archivo que ha finalizado bien, y otro que ha finalizado mal, y pegar el código para que podamos copiarlo y probarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha disminuido su posición en 19 puestos en Python (en relación al último mes)
Gráfica de Python

Guardar variables en un archivo plano - Python

Publicado por Sebastian (3 intervenciones) el 16/01/2020 14:52:09
Hola Joel, te explico, lo que se encuentra en estos logs es el seguimiento de procesos ETL, entonces cuando un proceso termina satisfactoriamente no contiene una unica linea, solo que cuando cumple todo el proceso arroja una linea en donde indica que el proceso finalizo ("Finished") como se muestra a continuacion.

ProcesoFinaliza

El probelma radica en que, cuando el proceso termina por cualquier error que se haya terminado, ya sea error de base de datos, error de conexion o erroe en la sintaxis del proceso, es comnplejo reconocer el error. Por tal razon opte a referenciar esa linea. Igual adjunto imagen de un proceso que termina en error

ProcesoFinalizaM
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Guardar variables en un archivo plano - Python

Publicado por joel (901 intervenciones) el 16/01/2020 19:32:02
Entiendo...

Puedes pegar tu código para copiarlo y poder probarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha disminuido su posición en 19 puestos en Python (en relación al último mes)
Gráfica de Python

Guardar variables en un archivo plano - Python

Publicado por Sebastian (3 intervenciones) el 16/01/2020 23:05:55
Dale, aqui te envio el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import os
from os import listdir
from os.path import isfile, isdir
import pandas as pd
import re
import smtplib
 
#Ruta en donde se encuentran los archivos
path=""
 
def FuncionLista(path):
    return [obj for obj in listdir(path) if isfile(path + obj)]
 
files = FuncionLista(path)
#Elimino de la lista algunos archivos que podrian generar conflicto
files.remove(".last_first_movement.log.swo")
files.remove(".ProductosEspecialesDiario.log.swp")
files.remove(".last_first_movement.log.swp")
files.remove(".HistoriaPasivosSummary.log.swp")
 
for i in range(len(files)):
    file_dir = path + files [i]
    print (file_dir)
    x = pd.read_csv(file_dir,sep="$",names=['log'])
    print(x.head(2))
    #lineas = file_dir.readlines()
    if "Finished!" in str(x):
        print("True")
    else:
        print("False")
        ListaNue = []
        file_dir = FuncionLista(path)
        for g in range(len(file_dir)):
            ListaNue.append(path + file_dir [g])
            ArchivoNombresLog = open("NombresLog.txt","w")
            ArchivoNombresLog.write(str(ListaNue))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar