如何修复';属性错误:';非类型';对象没有属性';获取';python中的错误
我尝试了一个代码来计算移动物体的距离,使用两个网络摄像机的视频馈送。我犯了这个错误 'AttributeError:'NoneType'对象没有属性'get' 当我运行代码时。我怎样才能修好它如何修复';属性错误:';非类型';对象没有属性';获取';python中的错误,python,opencv,image-processing,Python,Opencv,Image Processing,我尝试了一个代码来计算移动物体的距离,使用两个网络摄像机的视频馈送。我犯了这个错误 'AttributeError:'NoneType'对象没有属性'get' 当我运行代码时。我怎样才能修好它 def next(self,black=True,wait=0): # black frame default if black: frame = self.black_frame # no frame default else: fram
def next(self,black=True,wait=0):
# black frame default
if black:
frame = self.black_frame
# no frame default
else:
frame = None
# get from buffer (fail if empty)
try:
frame = self.buffer.get(timeout=wait)
self.frames_returned += 1
except queue.Empty:
print('Queue Empty!')
#print(traceback.format_exc())
pass
# done
return frame
你得到的错误解释了一切
frame = self.buffer.get(timeout=wait)
Buffer为none,或者您没有在构造函数中定义它,或者您正在将其设置为
none
您可以添加一个if-else块:
if self.buffer: # This will test if the buffer is not None
# Do access the get method.
else:
# Say buffer is None or do something else.
更明确地说:
if self.buffer is not None:
# Do access the get method.
else:
# Say buffer is None or do something else.
buffer
为none。您的self.buffer
为none。我们需要查看您如何创建self.buffer
。您是否将其默认设置为None
?您是否意外地将其设置为一个就地函数(如list.append()
)的输出?您不理解错误的哪一部分?@C.Nivs这是我的完整代码。我认为这个答案没有任何帮助。与其说是回答,不如说是评论