Python: archivo abierto, línea de alimentación a la lista, los datos de lista de procesos
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)
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?