code: def ls(self, path: path_type) -> List[path_type]:
      file_list = []
      file_entry = oc.OSSFileEntry(path)
      if not file_entry.is_dir():
          raise OSError("ls for file is not supported")
      else:
          (
              bucket,
              key,
              access_key_id,
              access_key_secret,
              end_point,
          ) = oc.parse_osspath(path)
          oss_bucket = oss2.Bucket(
              auth=oss2.Auth(
                  access_key_id=access_key_id,
                  access_key_secret=access_key_secret,
              ),
              endpoint=end_point,
              bucket_name=bucket,
              connect_timeout=_oss_time_out,
          )
          for obj in oss2.ObjectIteratorV2(oss_bucket, prefix=key):
              if obj.key.endswith("/"):
                  continue
              obj_path = rf"oss://{bucket}/{obj.key}"
              file_list.append(
                  build_oss_path(
                      obj_path,
                      access_key_id,
                      access_key_secret,
                      end_point,
                  )
              )
      return file_list
  
imports: from typing import List, Dict, Tuple, Iterator
  from urllib import parse
  from ...utils import implements, lazy_import
  from ._oss_lib import common
  from ._oss_lib.glob import glob
  from ._oss_lib.handle import OSSIOBase
  from .base import FileSystem, path_type
label_desc: Use image node_id 3 for calling the OSSFileSystem obj's underlying member method code with example usage: obj.ls(path) and returns: file_list