You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Python Argparse默认帮助信息中添加自定义文本?

Got it, adding a custom section like additional information to argparse's help output is totally doable—here are two approaches depending on how polished you want the result to be:

1. Quick & Simple: Use the epilog Parameter

If you just need a fast solution without custom classes, argparse's built-in epilog parameter lets you tack extra text at the end of the help output. You can format it to look like a proper section with a heading and indentation:

import argparse

parser = argparse.ArgumentParser(
    prog='ProgramName',
    description='Your program description goes here',
    # Define your custom section directly in the epilog
    epilog='\nadditional information:\n  This will show additional information...\n  You can add multiple indented lines for extra details, like usage examples or notes.'
)

# Add your regular arguments
parser.add_argument('input_file', help='Path to your input file')
parser.add_argument('-v', '--verbose', action='store_true', help='Enable verbose logging')

# Test the help output
parser.print_help()

The output will look like this:

usage: ProgramName [-h] [-v] input_file

Your program description goes here

positional arguments:
input_file Path to your input file

optional arguments:
-h, --help show this help message and exit
-v, --verbose Enable verbose logging

additional information:
This will show additional information...
You can add multiple indented lines for extra details, like usage examples or notes.

2. Polished & Consistent: Custom Help Formatter

If you want the custom section to match the exact formatting of argparse's default sections (same heading style, indentation, etc.), you can create a custom HelpFormatter by inheriting from argparse's default class. This lets you integrate your section seamlessly:

import argparse

class CustomHelpFormatter(argparse.HelpFormatter):
    def _format_custom_section(self, heading, text):
        # Reuse argparse's built-in formatting logic for consistency
        formatted_heading = self._format_heading(heading) if heading else ""
        formatted_text = self._format_text(text) if text else ""
        return formatted_heading + formatted_text + '\n'

    def add_custom_section(self, heading, text):
        # Add the custom section to the help content
        self._add_item(self._format_custom_section, (heading, text))

# Initialize the parser with your custom formatter
parser = argparse.ArgumentParser(
    prog='ProgramName',
    description='Your program description here',
    formatter_class=CustomHelpFormatter
)

# Add your standard arguments
parser.add_argument('pos_arg', help='A required positional argument')
parser.add_argument('-o', '--output', help='Path to save the output file')

# Get the formatter instance and add your custom section
formatter = parser._get_formatter()
formatter.add_custom_section(
    'additional information',
    'This will show additional information...\n\nYou can include detailed notes, step-by-step examples, or important usage warnings here. The format will match argparse\'s default sections perfectly.'
)

# Generate and print the fully formatted help
print(formatter.format_help())

This approach ensures your new section blends in with the rest of the help output, making it look professional and consistent with argparse's native style.

内容的提问来源于stack exchange,提问作者Yoavhayun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:24:29