code: def isdir(self, path):
          
          (bucket, key) = self._path_to_bucket_and_key(path)
  
          s3_bucket = self.s3.Bucket(bucket)
  
          # root is a directory
          if self._is_root(key):
              return True
  
          for suffix in (S3_DIRECTORY_MARKER_SUFFIX_0,
                         S3_DIRECTORY_MARKER_SUFFIX_1):
              try:
                  self.s3.meta.client.get_object(
                      Bucket=bucket, Key=key + suffix)
              except botocore.exceptions.ClientError as e:
                  if not e.response['Error']['Code'] in ['NoSuchKey', '404']:
                      raise
              else:
                  return True
  
          # files with this prefix
          key_path = self._add_path_delimiter(key)
          s3_bucket_list_result = list(itertools.islice(
              s3_bucket.objects.filter(Prefix=key_path), 1))
          if s3_bucket_list_result:
              return True
  
          return False
docs: Is the parameter S3 path a directory?