code: def find_module_py33(
      string,
      path=None,
      loader=None,
      full_name=None,
      is_global_search=True,
  ):
      loader = loader or importlib.machinery.PathFinder.find_module(
          string, path
      )
  
      if loader is None and path is None:  # Fallback to find builtins
          try:
              with warnings.catch_warnings(record=True):
                  # Mute "DeprecationWarning: Use importlib.util.find_spec()
                  # instead." While we should replace that in the future, it's
                  # probably good to wait until we deprecate Python 3.3, since
                  # it was added in Python 3.4 and find_loader hasn't been
                  # removed in 3.6.
                  loader = importlib.find_loader(string)
          except ValueError as e:
              # See #491. Importlib might raise a ValueError, to avoid this, we
              # just raise an ImportError to fix the issue.
              raise ImportError("Originally  " + repr(e))
  
      if loader is None:
          raise ImportError(
              "Couldn't find a loader for {}".format(string)
          )
  
      try:
          is_package = loader.is_package(string)
          if is_package:
              if hasattr(loader, "path"):
                  module_path = os.path.dirname(loader.path)
              else:
                  # At least zipimporter does not have path attribute
                  module_path = os.path.dirname(
                      loader.get_filename(string)
                  )
              if hasattr(loader, "archive"):
                  module_file = DummyFile(loader, string)
              else:
                  module_file = None
          else:
              module_path = loader.get_filename(string)
              module_file = DummyFile(loader, string)
      except AttributeError:
          # ExtensionLoader has not attribute get_filename, instead it has a
          # path attribute that we can use to retrieve the module path
          try:
              module_path = loader.path
              module_file = DummyFile(loader, string)
          except AttributeError:
              module_path = string
              module_file = None
          finally:
              is_package = False
  
      if hasattr(loader, "archive"):
          module_path = loader.archive
  
      return module_file, module_path, is_package
  
imports: import errno
  import sys
  import os
  import re
  import pkgutil
  import warnings
  import inspect
  import subprocess
  import ast
label_desc: Use image node_id 2 for calling a global function with example usage: find_module_py33(string, path, loader, full_name, is_global_search) and returns: module_file,  module_path,  is_package