code: def get(self):
          
          for path, dirs, files in os.walk(self.directory):
              folders = path[self.start:].split(os.sep)
              if self.branches:
                  if self._filter(folders, 'folders'):
                      files = dict.fromkeys(files)
                      parent = reduce(dict.get, folders[:-1], self.tree_dict)
                      parent[folders[-1]] = files
              else:
                  files = dict.fromkeys(files)
                  parent = reduce(dict.get, folders[:-1], self.tree_dict)
                  parent[folders[-1]] = files
          return self.tree_dict
docs: Generate path, dirs, files tuple for each path in directory.  Executes filters if branches are not None
          :return: