code: def change_root(new_root, pathname):
      """Return 'pathname' with 'new_root' prepended.  If 'pathname' is
      relative, this is equivalent to "os.path.join(new_root,pathname)".
      Otherwise, it requires making 'pathname' relative and then joining the
      two, which is tricky on DOS/Windows and Mac OS.
      """
      if os.name == "posix":
          if not os.path.isabs(pathname):
              return os.path.join(new_root, pathname)
          else:
              return os.path.join(new_root, pathname[1:])
  
      elif os.name == "nt":
          (drive, path) = os.path.splitdrive(pathname)
          if path[0] == "\\":
              path = path[1:]
          return os.path.join(new_root, path)
  
      else:
          raise DistutilsPlatformError(
              "nothing known about platform '%s'" % os.name
          )
  
imports: import os
  import re
  import importlib.util
  import string
  import sys
  import distutils
  from distutils.errors import DistutilsPlatformError
  from distutils.dep_util import newer
  from distutils.spawn import spawn
  from distutils import log
  from distutils.errors import DistutilsByteCompileError
label_desc: Use image node_id 4 for calling a global function with example usage: change_root(new_root, pathname) and returns: os, os, os