code: def select(self, filters=all_true, recursive=True):
          
          self.assert_is_dir_and_exists()
  
          if recursive:
              for p in self.glob("**/*"):
                  if filters(p):
                      yield p
          else:
              for p in self.iterdir():
                  if filters(p):
                      yield p
docs: Select path by criterion.
  
          :param filters: a lambda function that take a `pathlib.Path` as input,
            boolean as a output.
          :param recursive: include files in subfolder or not.
  
          **中文文档**
  
          根据filters中定义的条件选择路径。