当我运行runserver时,它返回IndexError
:“列表赋值索引超出范围”。
因为第15行我的文件rasp.py但我找不到原因。
rasp.py
#!/usr/bin/env python
def foo ( ) :
tab= [ ]
i = 0
for i in range(12):
tfile = open("/sys/bus/w1/devices/28-000007101990/w1_slave")
text = tfile.read()
tfile.close()
secondline = text.split("\n")[1]
temp = secondline.split(" ")[9]
temperature = float(temp[2:])
temperature = temperature/1000
mystr = str(temperature)
mystring = mystr.replace(",",".")
tab [i] = mystring
return tab
答案 0 :(得分:0)
tab
是一个空列表,这意味着它没有有效的索引,这就是tab[i] = mystring
引发IndexError
的原因。使用tab.append(mystring)
,它会将值附加到字符串
答案 1 :(得分:0)
您收到IndexError
,因为您正在尝试访问列表中不存在的索引。
您可以使用方法append
:
#!/usr/bin/env python
def foo ( ) :
tab= []
for i in range(12):
tfile = open("/sys/bus/w1/devices/28-000007101990/w1_slave")
text = tfile.read()
tfile.close()
secondline = text.split("\n")[1]
temp = secondline.split(" ")[9]
temperature = float(temp[2:])
temperature = temperature/1000
mystr = str(temperature)
mystring = mystr.replace(",",".")
tab.append(mystring)
return tab