我试图从另一个文件导入数据,并在函数中使用该文件,但出现错误:
门_position_pattern_actual=门_位置[d]
TypeError: list indices must be integers, not str
代码参考:
reactive_sampling_period_in_seconds = 10 * 60
Door_Position = list()
while 1:
line = f.readline()
vals = f.readline()
vals= vals.rstrip()
data1 = []
for v in vals.split(","):
data1.append(v.lstrip())
if(entry[1]=="DoorPosition"):
Door_Position = list(data1)
def door_positin_fnc_actual(self, time_in_seconds):
time_period_in_10mins = 6
index = int(math.floor(time_in_seconds%(144*reactive_sampling_period_in_seconds)/(reactive_sampling_period_in_seconds)))
for d in Door_Position :
Door_position_pattern_actual = Door_Position[d]
return Door_position_pattern_actual[index]
输出参考:
^{pr2}$我怀疑(1正在创建问题,但无法修复,请建议我。。。!!!在
这都是错误的:
d
不是索引,而是一个值。 所以在Door_Position[ ... ]
中使用它是没有意义的错误
TypeError: list indices must be integers, not str
很可能来自这里。在也许你在找这样的东西:
首先,您必须删除列表元素中的}字符,如下所示:
(
和{您的
^{pr2}$Door_Position
列表现在应该如下所示:现在,Door\u Position是一个字符串列表,要使其工作,请尝试
Door_position_pattern_actual = Door_Position[int(d)]
看看这个小样本:
看到了吗?当我试图传递一个字符串作为一个列表索引时,我得到了和你相同的错误。在
希望这能帮助你理解。在
相关问题 更多 >
编程相关推荐