1

我想处理文件“output.log”中的数据并将其提供给graphdata['eth0]

我已经这样做了,但它只处理第一行:

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)
4

3 回答 3

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)
于 2010-05-05T13:09:38.243 回答
0

不完全确定,看起来你每次都在重新初始化数组。你能把它放在一个大列表中吗?

于 2010-05-05T13:12:15.147 回答
0
graphData = {}

我相信那是一本字典。那是你的意图吗?

如果您正在寻找一个列表/数组,您可以使用 [] 而不是 {}。以前的海报所说的听起来是正确的。每次您都在设置 graphData = {} 并因此覆盖过去的任何内容。

array.append(x)

会将某些内容附加到数组中。

如果您希望所有行在最后都愉快地显示,您可以在循环之前设置 graphData = [] 。然后每次通过循环做

graphData.append(line).  

Then after the loop you can set graph_data_dict = {} graph_data_dict['eth0'] = graph_data_array

于 2010-05-05T13:20:05.013 回答