code: def get_object_from_normpath(self, file_path):
          
          file_path = make_string_path(file_path)
          if file_path == self.root.name:
              return self.root
          if file_path == self.dev_null.name:
              return self.dev_null
  
          file_path = self._original_path(file_path)
          path_components = self._path_components(file_path)
          target_object = self.root
          try:
              for component in path_components:
                  if S_ISLNK(target_object.st_mode):
                      target_object = self.resolve(target_object.contents)
                  if not S_ISDIR(target_object.st_mode):
                      if not self.is_windows_fs:
                          self.raise_io_error(errno.ENOTDIR, file_path)
                      self.raise_io_error(errno.ENOENT, file_path)
                  target_object = target_object.get_entry(component)
          except KeyError:
              self.raise_io_error(errno.ENOENT, file_path)
          return target_object
docs: Search for the specified filesystem object within the fake
          filesystem.
  
          Args:
              file_path: Specifies target FakeFile object to retrieve, with a
                  path that has already been normalized/resolved.
  
          Returns:
              The FakeFile object corresponding to file_path.
  
          Raises:
              IOError: if the object is not found.