【发布时间】:2018-08-21 03:42:40
【问题描述】:
错误:
Traceback(最近一次调用最后一次):文件 “/root/PycharmProjects/Capstone2/main”,第 207 行,在 对于范围内的 paramIndex(0, 4): TypeError: 'list' object is not callable
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件 “/root/PycharmProjects/Capstone2/main”,第 249 行,在 打印('流结束')文件“/usr/lib/python3/dist-packages/picamera/camera.py”,第 758 行,在 退出 self.close() 文件“/usr/lib/python3/dist-packages/picamera/camera.py”,第 737 行,在 关闭 self.stop_recording(splitter_port=port) 文件“/usr/lib/python3/dist-packages/picamera/camera.py”,第 1198 行,在 stop_recording encoder.close() 文件“/usr/lib/python3/dist-packages/picamera/encoders.py”,第 431 行,在 关闭 self.stop() 文件“/usr/lib/python3/dist-packages/picamera/encoders.py”,第 815 行,在 停止 super(PiVideoEncoder, self).stop() 文件“/usr/lib/python3/dist-packages/picamera/encoders.py”,第 419 行,在 停止 self._close_output() 文件“/usr/lib/python3/dist-packages/picamera/encoders.py”,第 349 行,在 _close_output mo.close_stream(输出,打开)文件“/usr/lib/python3/dist-packages/picamera/mmalobj.py”,第 371 行,在 关闭流 stream.flush() ValueError: 关闭文件的刷新
相关代码:
angle = []
distance = []
speed = []
current = []
timestamp = []
parameterList = []
parameterList.extend((angle, distance, speed, current, timestamp))
for paramIndex in range(0, 4): # LINE 207
# Select Range
range = getRange(index, paramIndex + 5)
cell_list = sheet.range(range[0], range[1], range[2], range[3])
cellIndex = 0
for cell in cell_list:
try:
cell.value = parameterList[paramIndex][cellIndex]
except:
print("PI: " + str(paramIndex))
print("CI: " + str(cellIndex))
print("PL LEN: " + str(len(parameterList)))
print("P LEN: " + str(len(parameterList[paramIndex])))
我的想法:
这个错误让我认为 paramIndex 是一个列表而不是一个整数,但是代码在前四次迭代中执行得很好。这让我觉得我的最后一个列表(时间戳)有问题。我唯一能想象到的最后一个列表有问题的是某种索引越界问题,但是...
except 块永远不会被命中
cellIndex 达到的最大值为 30(预期)
parameterList 的长度为 5(预期)
时间戳长度为31(预期)
我被难住了。如果有人能提供一些帮助,将不胜感激。
【问题讨论】:
-
getRange 是用户定义的吗?
-
是的。好点,我没想过要检查它,因为当我早些时候测试它时,它似乎工作正常。完整代码可以在这里看到:github.com/AdamVen/Capstone/blob/master/__main__
-
您不能使用
range作为变量名,因为它是内置的。当您大量引用它时,这可能会导致冲突!!
标签: python python-3.x