Python: archivo abierto, línea de alimentación a la lista, los datos de lista de procesos

StackOverflow https://stackoverflow.com/questions/2773416

  •  03-10-2019
  •  | 
  •  

Pregunta

Quiero procesar los datos en el "output.log" archivo y alimentar a GraphData [ 'eth0]

he hecho esto, pero procesar sólo la primera línea:

logread = open("output.log", "r").readlines()
for line in logread:
        print "line", line
        i = line.rstrip("\n")
        b = float(i)
        colors = [ (0.2, 03, .65), (0.5, 0.7, .1), (.35, .2, .45), ]
        graphData = {}
        graphData['eth0'] = [b]
        cairoplot.dot_line_plot("./blog", graphData, 500, 500, axis=True, grid=True, dots=True, series_colors=colors)
¿Fue útil?

Solución

graphData = {}

Creo que es un diccionario. Es eso lo que se pretende?

Si usted está buscando una lista / matriz se puede usar [] en lugar de {}. Lo que una crítica anterior dijo sonidos correctos. Cada vez que a través de está configurando GraphData = {} y por lo tanto sobrescribir nada del pasado.

array.append(x)

añadirá algo de una matriz.

Si desea que todas las líneas visualiza todos felizmente al final podría configurar GraphData = [] antes de que el bucle. A continuación, cada vez a través del bucle de hacer la

graphData.append(line).  

A continuación, después de que el bucle se puede establecer graph_data_dict = {} graph_data_dict [ 'eth0'] = graph_data_array

Otros consejos

logread = open("output.log", "r").readlines()
for line in logread:
        print "line", line
        i = line.rstrip("\n")
        b = float(i)
        colors = [ (0.2, 03, .65), (0.5, 0.7, .1), (.35, .2, .45), ]
        graphData = {}
        graphData['eth0'] = [b]
        cairoplot.dot_line_plot("./blog", graphData, 500, 500, axis=True, grid=True, dots=True, series_colors=colors)

No del todo seguro, el bit que parece que estás re-Initing la matriz cada vez. ¿Se puede alimentar en una enorme lista?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top