2024-10-04 03:23:31 发布
网友
我想得到下一个datetime日期值的月份,但是我得到了以下错误
i_real = (actividad.fecha_real_ini.month-1) while i_real <=(actividad.fecha_real_fin.month-1): meses_real[i_real] = True i_real+=1
我得到以下错误。在
正如评论所提到的,要么actividad.fecha_real_ini为None,要么actividad.fecha_real_fin为None。在访问对象之前,请确保不需要访问对象的属性。在
actividad.fecha_real_ini
actividad.fecha_real_fin
您还可以为此使用getattrpython内置;并在AttributeError的情况下提供一个合理的默认值
getattr
AttributeError
getattr的签名是:getattr(object, attribute_name, default=None)
getattr(object, attribute_name, default=None)
例如,可以将其重写为:
i_real = getattr(actividad.fecha_real_ini, 'month', 0) # I am using 0 as my default; so i_real will be -1 while i_real <= (getattr(actividad.fecha_real_fin, 'month', 0)): meses_real[i_real-1] = True i_real += 1
正如评论所提到的,要么
actividad.fecha_real_ini
为None,要么actividad.fecha_real_fin
为None。在访问对象之前,请确保不需要访问对象的属性。在您还可以为此使用
getattr
python内置;并在AttributeError
的情况下提供一个合理的默认值getattr
的签名是:getattr(object, attribute_name, default=None)
例如,可以将其重写为:
相关问题 更多 >
编程相关推荐