Python: فتح الملف ، خط التغذية إلى القائمة ، بيانات قائمة المعالجة
سؤال
أرغب في معالجة البيانات الموجودة في الملف "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)
لست متأكدًا تمامًا ، يبدو أنك تعيد تثبيت الصفيف في كل مرة. هل يمكنك إطعامها في قائمة واحدة كبيرة؟
لا تنتمي إلى StackOverflow