code: def print_help(self, file: TextIO = None) -> None:
          
          if file is None:
              file = sys.stderr
          print("Usage: %s [OPTIONS]" % sys.argv[0], file=file)
          print("\nOptions:\n", file=file)
          by_group = {}  # type: Dict[str, List[_Option]]
          for option in self._options.values():
              by_group.setdefault(option.group_name, []).append(option)
  
          for filename, o in sorted(by_group.items()):
              if filename:
                  print("\n%s options:\n" % os.path.normpath(filename), file=file)
              o.sort(key=lambda option: option.name)
              for option in o:
                  # Always print names with dashes in a CLI context.
                  prefix = self._normalize_name(option.name)
                  if option.metavar:
                      prefix += "=" + option.metavar
                  description = option.help or ""
                  if option.default is not None and option.default != "":
                      description += " (default %s)" % option.default
                  lines = textwrap.wrap(description, 79 - 35)
                  if len(prefix) > 30 or len(lines) == 0:
                      lines.insert(0, "")
                  print("  --%-30s %s" % (prefix, lines[0]), file=file)
                  for line in lines[1:]:
                      print("%-34s %s" % (" ", line), file=file)
          print(file=file)
docs: Prints all the command line options to stderr (or another file).