code: def which(component, path_str):
      '''helper method having same behaviour as "which" os command.'''
  
      def is_exe(fpath):
          return os.path.exists(fpath) and os.access(fpath, os.X_OK)
  
      fpath, fname = os.path.split(component)
      if fpath:
          if is_exe(component):
              return component
      else:
          for path in path_str.split(os.pathsep):
              exe_file = os.path.join(path, component)
              if is_exe(exe_file):
                  return exe_filf which(component, path_str):
      '''helper method having same behaviour as "which" os command.'''
  
      def is_exe(fpath):
          return os.path.exists(fpath) and os.access(fpath, os.X_OK)
  
      fpath, fname = os.path.split(component)
      if fpath:
          if is_exe(component):
              return component
      else:
          for path in path_str.split(os.pathsep):
              exe_file = os.path.join(path, component)
              if is_exe(exe_file):
                  return exe_file
docs: helper method having same behaviour as "which" os command.