dest
https://docs.python.org/3/library/argparse.html#dest
dest用于指定解析后将参数值,存储到参数表中的参数名称, 简称存储参数名。
dest本身是add_argument参数之一
The name of this attribute is determined by the
dest
keyword argument ofadd_argument()
.
如果参数是位置参数, 则dest就是待解析的参数名。
For positional argument actions,
dest
is normally supplied as the first argument toadd_argument()
:
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('bar') >>> parser.parse_args(['XXX']) Namespace(bar='XXX')
如果是可选参数, dest是由待解析的可选参数项推断而来。
如果有 长可选参数, 以 --开头, 则其后的字符串,将作为存储参数名。
For optional argument actions, the value of
dest
is normally inferred from the option strings.ArgumentParser
generates the value ofdest
by taking the first long option string and stripping away the initial--
string.
如果没有 长参数名, 只有短参数名, 则将第一个短参数名,作为存储参数名。
If no long option strings were supplied,
dest
will be derived from the first short option string by stripping the initial-
character. Any internal-
characters will be converted to_
characters to make sure the string is a valid attribute name. The examples below illustrate this behavior:
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('-f', '--foo-bar', '--foo') >>> parser.add_argument('-x', '-y') >>> parser.parse_args('-f 1 -x 2'.split()) Namespace(foo_bar='1', x='2') >>> parser.parse_args('--foo 1 -y 2'.split()) Namespace(foo_bar='1', x='2')
dest显示出现的手, 则以dest为准。
dest
allows a custom attribute name to be provided:
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo', dest='bar') >>> parser.parse_args('--foo XXX'.split()) Namespace(bar='XXX')