code: def get_node_by_path(self, path):
          
          if path==".":
              return self
          elif path.lstrip().startswith((".", "./")) or not isinstance(path, str):
              logger.warning("%s.get_node_by_path: arg «path»=«%s», not correctly specified." % (self.__class__.__name__, path))
              return None
          _pathlist = list(filter(None, path.split("/")) ) # remove blank strings
          if path.startswith("/"):
              _node = self._root  
              _pathlist.pop(0)  # remove rootnode name
          else:
              _node = self
          for _nodename in _pathlist:
              _node = _node.get_child_by_name(_nodename)
              if _node is None:
                  logger.warning("%s.get_node_by_path: node«%s», arg `path`=«%s», cannot find node." % (self.__class__.__name__, self.name, path))
                  return None
          return _node
docs: Get a node from a node path. 
  
          Warning: use of this method assumes that sibling nodes have unique names,
          if this is not assured the `get_node_by_coord` method can be used instead.
  
          |  Example with absolute node path: 
          |  `node.get_node_by_path('/root.name/child.name/gchild.name')`
          |  Example with relative node path:
          |  `node.get_node_by_path('child.name/gchild.name')`
  
          :param path: the absolute node path, or the node path relative 
              to the current node instance.
          :type path: str
          :returns: the node corresponding to `path`.
          :rtype: Node or None