add_argument函数的dest参数

2020年7月3日 / 69次阅读 / Last Modified 2020年7月3日
argparse模块

用python的argparse模块做命令行程序,我们都是引用parse_args()返回的对象属性,来获取用户命令输入的具体参数内容。add_argument函数的dest参数,就是用来给parse_args()函数返回的对象属性命令的。

如果不用dest参数,固定位置参数的引用属性名称,就是add_argument函数的第1个参数:

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('bar')
>>> parser.parse_args(['XXX'])
Namespace(bar='XXX')

如果不用dest参数,对于可选参数的引用属性名称,优先选择 -- 开头的那个,如果没有,就是 - 开头的那个字母:

>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-a', '--apple')
_StoreAction(option_strings=['-a', '--apple'], dest='apple', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)
>>> parser.add_argument('-b')
_StoreAction(option_strings=['-b'], dest='b', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)

-a参数的dest='apple';

-b参数的dest='b'

现在我们可以用dest参数来看看效果:

>>> parser.add_argument('-c', dest='cpp')
_StoreAction(option_strings=['-c'], dest='cpp', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)

-c参数的dest='cpp'

如果希望保持代码不变,但是又想改变命令行的参数名称,dest参数就可以排上用场。或者参数本身的含义不够明确,比如 -r -k -i -t 等等,直接在代码中使用可读性不好,这时用dest来给他们指定一个可读性更好的名称。

-- EOF --

本文链接:https://www.pynote.net/archives/2121

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top