如何仅打印 ArgParse 特定参数的帮助字符串的内容
How to print just the content of the help string of a specific argument of ArgParse
有没有办法访问参数解析器库对象的特定参数的帮助字符串?
如果命令行上有该选项,我想打印帮助字符串内容。 不是 Argument Parser 可以通过 ArgumentParser.print_help 显示的完整帮助文本。
所以按照这些思路:
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--do_x", help='the program will do X')
if do_x:
print(parser.<WHAT DO I HAVE TO PUT HERE?>('do_x')
这是必需的行为
$程序-d
the program will do X
有parser._option_string_actions
,它是选项字符串(-d
或--do_x
)和Action
objects之间的映射。 Action.help
属性包含帮助字符串。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--do_x", action='store_true',
help='the program will do X')
args = parser.parse_args()
if args.do_x:
print(parser._option_string_actions['--do_x'].help)
# OR print(parser._option_string_actions['-d'].help)
parser._actions
是 Action
对象的列表。您还可以在创建解析器时抓取对象。
a=parser.add_argument(...)
...
If args.do_x:
print a.help
在交互式会话中与 argparse
一起玩。从这样的作业看a
。
有没有办法访问参数解析器库对象的特定参数的帮助字符串?
如果命令行上有该选项,我想打印帮助字符串内容。 不是 Argument Parser 可以通过 ArgumentParser.print_help 显示的完整帮助文本。
所以按照这些思路:
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--do_x", help='the program will do X')
if do_x:
print(parser.<WHAT DO I HAVE TO PUT HERE?>('do_x')
这是必需的行为
$程序-d
the program will do X
有parser._option_string_actions
,它是选项字符串(-d
或--do_x
)和Action
objects之间的映射。 Action.help
属性包含帮助字符串。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--do_x", action='store_true',
help='the program will do X')
args = parser.parse_args()
if args.do_x:
print(parser._option_string_actions['--do_x'].help)
# OR print(parser._option_string_actions['-d'].help)
parser._actions
是 Action
对象的列表。您还可以在创建解析器时抓取对象。
a=parser.add_argument(...)
...
If args.do_x:
print a.help
在交互式会话中与 argparse
一起玩。从这样的作业看a
。