code: def _iglob(pathname, recursive, dironly):
      dirname, basename = os.path.split(pathname)
      if not has_magic(pathname):
          assert not dironly
          if basename:
              if oss_exists(pathname):
                  yield pathname
          else:
              # Patterns ending with a slash should match only directories
              if oss_isdir(dirname):
                  yield pathname
          return
      # dirname will not be None in oss path.
      #  Prevent an infinite recursion if a drive or UNC path
      # contains magic characters (i.e. r'\\?\C:').
      if dirname != pathname and has_magic(dirname):
          dirs = _iglob(dirname, recursive, True)
      else:
          dirs = [dirname]
      if has_magic(basename):
          glob_in_dir = _glob1
      else:
          glob_in_dir = _glob0
      for dirname in dirs:
          for name in glob_in_dir(dirname, basename, dironly):
              yield os.path.join(dirname, name)
  
file_path: mars/mars/lib/filesystem/_oss_lib/glob.py
imports: import fnmatch
  import os
  import re
  from .common import oss_exists, oss_isdir, oss_scandir
label_desc: Use image node_id 3 for calling a global function with example usage: _iglob(pathname, recursive, dironly) without return types