code: def which(program):
      
      path_ext = [""]
      ext_list = None
  
      if sys.platform == "win32":
          ext_list = [ext.lower() for ext in os.environ["PATHEXT"].split(";")]
  
      def is_exe(fpath):
          exe = os.path.isfile(fpath) and os.access(fpath, os.X_OK)
          # search for executable under windows
          if not exe:
              if ext_list:
                  for ext in ext_list:
                      exe_path = f"{fpath}{ext}"
                      if os.path.isfile(exe_path) and os.access(exe_path, os.X_OK):
                          path_ext[0] = ext
                          return True
                  return False
          return exe
  
      fpath, fname = os.path.split(program)
  
      if fpath:
          if is_exe(program):
              return f"{program}{path_ext[0]}"
      else:
          for path in os.environ["PATH"].split(os.pathsep):
              path = path.strip('"')
              exe_file = os.path.join(path, program)
              if is_exe(exe_file):
                  return f"{exe_file}{path_ext[0]}"
      return None
docs: A python implementation of which.
  
      https://stackoverflow.com/a/2969007