I have a bunch of objects, they have members, their members have members, ..., somewhere I need to do indexing, and then access members ...
So, basically, I want to get obj.member1.member2[3].member4
and I also want to assign obj.member1[2].member3.member4 = new_value
. I want to generate these "paths" which describe when to use getattr
and when to use indexing dynamically. Is there a library for this? I imagine interface like
get_obj_path(obj, (("member1", "a"), ("member2", "a"), (3, "i"), ("member4", "a")))
and
assign_obj_path(obj, (("member1", "a"), (2, "i"), ("member3", "a"), ("member4", "a")), new_value)