docs: def get_files(path, ext=[], include=True):
      """遍历提供的文件夹的所有子文件夹，饭后生成器对象。
  
      :param str path: 待处理的文件夹。
      :param list ext: 扩展名列表。
      :param bool include:    若值为 True，代表 ext 提供的是包含列表；
                              否则是排除列表。
      :returns: 一个生成器对象。 
  
      """
      has_ext = len(ext)>0
      for p, d, fs in os.walk(path):
          for f in fs:
              if has_ext:
                  in_ext = False
                  for name in ext:
                      if f.endswith(name):
                          in_ext = True
                          break
                  if (include and in_ext) or \
                  (not include and not in_ext):
                      yield os.path.join(p,f)
              else:
                  yield os.path.join(p, f)