2017-01-29 2 views
1

Я использую python и вызываю запрос api. Не все твиты имеют поле quoted_status, так как не все из них цитируются. Как я могу преодолеть ошибкуСтатус цитирующегося Tweedy «Статус не имеет атрибута quoted_status»

AttributeError: 'Status' object has no attribute 'quoted_status' 

и напечатать например «нуль», если quoted_status недоступен?

Я работаю в цикле, мой фактический код это:

for status in timeline: 
    print status.quoted_status 

Я попытался также с исключением, но без успеха.

ответ

1

Вы можете проверить, имеет ли объект атрибут с ключевым словом hasattr.

for status in timeline: 
    if hasattr(status, 'quoted_status'): 
     print (status.quoted_status) 
    else: 
     print ("null") 

hasattr (объект, имя)

Аргументы является объектом и строка. В результате True, если строка является именем одного из атрибутов объекта, False, если нет. (Это реализовано путем вызова getattr (объекта, имени) и просмотра , вызывает ли оно исключение или нет.)

Смежные вопросы