Я хочу обработать данные в файле "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)
graphData = {}
Я считаю, что это словарь. Это то, что вы намеревались?
Если вы ищете список/массив, вы можете использовать [] вместо {}. Что сказал предыдущий плакат, звучит правильно. Каждый раз вы устанавливаете graphData = {} и, следовательно, перезаписываете что-либо из прошлого.
array.append(x)
добавит что-то в массив.
Если вы хотите, чтобы все строки отображались с радостью в конце, вы могли установить graphData = [] перед циклом. Затем каждый раз через цикл делайте
graphData.append(line).
Затем после цикла вы можете установить graph_data_dict = {} graph_data_dict ['eth0'] = graph_data_array
Не совсем уверен, немного похоже, что вы каждый раз заново инициализируете массив. Можете ли вы накормить его в одном большом списке?
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)