我的程序在读取txt文件后,可以显示平均值。 首先它是文本文件格式的一部分,它在这里有更多的行。使用python for循环来获取txt值并计算值的总和
Timestamp CounterSamples
--------- --------------
3/15/2017 2:01:44 PM \\ins1617group15s\processor(_total)\% processor time
:
1.38923436719549
3/15/2017 2:01:46 PM \\ins1617group15s\processor(_total)\% processor time
:
0.318628588938252
3/15/2017 2:01:48 PM \\ins1617group15s\processor(_total)\% processor time
:
0.319297841379995
而且这是我的代码首先得值:
infile = open(cpu_txtfile, 'r')
stuff = infile.readlines()
for i in range(0, 500, 5):
values = float(stuff[i+5])
它是成功的回调值的每一行和格式是这样的:
1.3892343672
0.318628588938
0.31929784138
1.26366523362
1.42940775782
0.112588096327
1.24699147593
0.300931193494
1.8688601978
0.2750450877
0.848266656567
1.6158389729
0.0820226675922
0.0
1.45128654463
2.03801885286
我有另一个用于循环来计算
for j in range(0, 99):
sum_values = values[j+1]
avg_values = sum_values/100
print avg_values
它有错误代码
line 139, in cpu_baselineValues
sum_values = values[j+1]
TypeError: 'float' object has no attribute '__getitem__'
似乎不能调用values
的每一行。这是值数据类型的问题吗?
你想解释给OP你是如何做到这一点? – abccd
感谢您的帮助,在参考您的答案后,我已经将我的代码更改为:'for i in range(0,500,5): values = [] values [i] = float(stuff [i + 5 ])'但它有一个错误:'IndexError:列表分配索引超出范围'是代码问题还是列表大小? –