如何修改Argparse帮助中参数的显示名称且不改动dest变量
自定义argparse参数帮助文本中的占位符
要实现你想要的效果,只需在add_argument方法中添加metavar参数,指定目标占位符即可,完全不需要修改dest的值。
修改后的代码如下:
# Initialize the Argument Parser clArgsParser = argparse.ArgumentParser ( description = __program__.description, epilog = __program__.epilog, formatter_class = argparse.RawDescriptionHelpFormatter ) # Define '--config' argument clArgsParser.add_argument ( '-c', '--config', help = "Path to the Program's Configuration file.", type = str, action = 'store', dest = 'programConfigPath', # 参数值仍存储到`programConfigPath`变量中 metavar='<PROGRAM_CONFIG_PATH>' # 指定帮助文本里显示的占位符 )
原理说明
metavar是argparse专门用于控制参数在帮助信息中显示的占位符参数,它和dest完全独立:
dest负责定义程序内部存储参数值的变量名metavar仅修改帮助文本里展示的参数占位符文本
修改后,执行--help时的输出就会变成你期望的样式:
optional arguments: -c <PROGRAM_CONFIG_PATH>, --config <PROGRAM_CONFIG_PATH>
内容的提问来源于stack exchange,提问作者SimpleThings
相关产品推荐
相关产品推荐

