Как настроить считыватель RFID для вывода того же вывода?

Довольно часто, когда я создаю файл XML из данных, хранящихся в классе, я часто получал ошибки, если атрибут не существовал или имел тип None. В этом случае моя проблема не зная, что такое имя атрибута, как указано в вашем вопросе, а скорее данные, хранящиеся в этом атрибуте.

class Pet:
    def __init__(self):
        self.hair = None
        self.color = None

Если я использовал hasattr для сделайте это, он вернет True, даже если значение атрибута имеет тип None, и это приведет к ошибке моей команды ElementTree set.

hasattr(temp, 'hair')
>>True

Если значение атрибута имело тип None, getattr также вернет его, что приведет к сбою моей команды ElementTree set.

c = getattr(temp, 'hair')
type(c)
>> NoneType

Теперь я использую следующий метод, чтобы позаботиться об этих случаях:

def getRealAttr(class_obj, class_attr, default = ''):
    temp = getattr(class_obj, class_attr, default)
    if temp is None:
        temp = default
    elif type(temp) != str:
        temp = str(temp)
    return temp

Это когда и как я использую getattr.

0
задан Ivan 16 January 2019 в 07:32
поделиться