def __getitem__(self, key: str) -> Any:
node = self.mapping
leafs = key.split(".")
for i, leaf in enumerate(leafs):
if not isinstance(node, c_abc.Mapping):
raise KeyError(f"Element {'.'.join(leafs[:i])!r} is not a mapping")
if not leaf:
raise KeyError(f"Empty sub-key after {'.'.join(leafs[:i])!r}")
if leaf not in node:
break
node = node[leaf]
else:
return node
raise KeyError(f"Cannot find '{key}'")
评论列表
文章目录