code: def fix_hashbang(self, contents, python):
          
          lines = contents.splitlines()
          if lines:
              hashbang = lines[0]
              # Get the base name of the command in the hashbang.
              executable = os.path.basename(hashbang)
              # Deal with hashbangs like `#!/usr/bin/env python'.
              executable = re.sub(b'^env ', b'', executable)
              # Only rewrite hashbangs that actually involve Python.
              if re.match(b'^python(\\d+(\\.\\d+)*)?$', executable):
                  lines[0] = b'#!' + python.encode('ascii')
                  logger.debug("Rewriting hashbang %r to %r!", hashbang, lines[0])
                  contents = b'\n'.join(lines)
          return contents
docs: Rewrite hashbangs_ to use the correct Python executable.
  
          :param contents: The contents of the script whose hashbang should be
                           fixed (a string).
          :param python: The absolute pathname of the Python executable (a
                         string).
          :returns: The modified contents of the script (a string).
  
          .. _hashbangs: http://en.wikipedia.org/wiki/Shebang_(Unix)