'Prints all the command line options to stderr (or another file).'

def print_help(self, file=None):

    if (file is None):
        file = sys.stderr
    print(('Usage:    %s    [OPTIONS]' % sys.argv[0]), file=file)
    print('\nOptions:\n', file=file)
    by_group = {}
    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:
            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)
