code: def file_stat_for_all(self, filters=all_true):  # pragma: no cover
          
          self.assert_is_dir_and_exists()
  
          from collections import OrderedDict
  
          stat = OrderedDict()
          stat[self.abspath] = {"file": 0, "dir": 0, "size": 0}
  
          for p in self.select(filters=filters, recursive=True):
              if p.is_file():
                  size = p.size
                  while 1:
                      parent = p.parent
  
                      stat[parent.abspath]["file"] += 1
                      stat[parent.abspath]["size"] += size
  
                      if parent.abspath == self.abspath:
                          break
  
                      p = parent
  
              elif p.is_dir():
                  stat[p.abspath] = {"file": 0, "dir": 0, "size": 0}
  
                  while 1:
                      parent = p.parent
                      stat[parent.abspath]["dir"] += 1
  
                      if parent.abspath == self.abspath:
                          break
  
                      p = parent
  
          return stat
docs: Find out how many files, directories and total size (Include file in
          it's sub-folder) it has for each folder and sub-folder.
  
          :returns: stat, a dict like ``{"directory path": {
            "file": number of files, "dir": number of directories,
            "size": total size in bytes}}``
  
          **中文文档**
  
          返回一个目录中的每个子目录的, 文件, 文件夹, 大小的统计数据。