2010-05-05 11 views
1

Je veux traiter les données dans le fichier « output.log » et le nourrir à GraphData [ 'eth0]python: fichier ouvert, ligne d'alimentation à la liste, les données de la liste des processus

Je l'ai fait mais ce processus seule la première ligne:

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) 

Répondre

0
graphData = {} 

Je crois que c'est un dictionnaire. Est-ce ce que vous vouliez?

Si vous recherchez une liste/tableau, vous pouvez utiliser [] au lieu de {}. Ce qu'a dit un poster précédent semble correct. Chaque fois que vous passez à GraphData = {}, vous écrasez tout ce qui vient du passé.

array.append(x) 

ajoutera quelque chose à un tableau.

Si vous souhaitez que toutes les lignes s'affichent toutes heureusement à la fin, vous pouvez définir graphData = [] avant la boucle. Ensuite, chaque fois à travers la boucle faire le

graphData.append(line). 

Puis, après la boucle que vous pouvez définir graph_data_dict = {} graph_data_dict [ 'eth0'] = graph_data_array

+0

qui a travaillé ... merci .. – krisdigitx

0
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) 
+0

Y avait-il une différence là-bas? – Nate

0

Pas tout à fait sûr, mordit semble que vous re-Initing le tableau à chaque fois. Pouvez-vous le nourrir dans une grande liste?