Как исправить 'AttributeError: у объекта' NoneType 'нет атрибута' get ', ошибка в python - PullRequest
0 голосов
/ 21 июня 2019

Я попробовал код для расчета расстояния движущихся объектов с помощью видеопотока с двумя веб-камерами. Я получил эту ошибку

'AttributeError: объект' NoneType 'не имеет атрибута' get '

когда я запускаю код. Как я могу это исправить?

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

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Вы можете просто добавить блок 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. 
0 голосов
/ 21 июня 2019

Ошибка, которую вы получаете, объясняет все это,

     frame = self.buffer.get(timeout=wait)

Буфер равен none, либо вы не определяете его в конструкторе, либо где-то перед этой функцией вы устанавливаете его на None

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...