argparse 部分参数整理

 

设置一个解析器


import argparse
parser = argparse.ArgumentParser(

    # prog - (default: sys.argv[0])程序的名字,一般不需要修改,另外,如果你需要在help中使用到程序的名字,可以使用%(prog)s (default: sys.argv[0])

    # usage - 使用程序的帮助信息 (default: generated from arguments added to parser)

    # description - 命令行帮助的开始文字,大部分情况下,我们只会用到这个参数 (default: none)

    # epilog - 命令行帮助的结尾文字 (default: none)

    # parents - 类型是list,如果这个parser的一些选项跟其他某些parser的选项一样,可以用parents来实现继承,例如parents=[parent_parser]

    # formatter_class - 自定义帮助信息的格式(description和epilog)。默认情况下会将长的帮助信息进行<自动换行和消除多个连续空白>

    # prefix_chars - 前缀可选参数字符集(输入变量带特殊字符) (default: ‘-‘)

    # fromfile_prefix_chars - 如果你希望命令行参数可以从文件中读取,就可能用到。例如,如果fromfile_prefix_chars='@',

                命令行参数中有一个为"@args.txt",args.txt的内容会作为命令行参数 (default: None)

    # argument_default - 设置一个全局的选项的缺省值,一般每个选项单独设置,所以这个参数用得少 (default: None)

    # conflict_handler - 不建议使用。这个在极端情况下才会用到,主要是定义两个add_argument中添加的选项的名字发生冲突时怎么处理,默认处理是抛出异常。

    # add_help - 是否增加-h/-help选项 (default: True),一般help信息都是必须的 (default: True)

)


add_argument ----定义如何解析单个命令行参数


parser.add_argument(

    # action - 在命令行遇到此参数时要采取的基本动作类型.

    # store 保存参数值,可能会先将参数值转换成另一个数据类型。若没有显式指定动作,则默认为该动作。

    # store_const #保存一个被定义为参数规格一部分的值,而不是一个来自参数解析而来的值(action='store_const',const='aaa',const为默认值),

            这通常用于实现非布尔值的命令行标记

    # store_ture/store_false 保存相应的布尔值。这两个动作被用于实现布尔开关。

            #action = 'store_ture' 当未接收参数时, namespace 显示值为false ,接收为True

            #action = 'store_false' 与 store_ture 相反

    # append 将值保存到一个列表中。若参数重复出现,则保存多个值。

    # 脚本执行时必须跟多个参数例如, python a.py -f a -f b -f c

    # append_const 将一个定义在参数规格中的值保存到一个列表中,可重复添加。

    # version 打印关于程序的版本信息,然后退出

    # nargs - 返回一个list,指定这个参数后面的value有多少个,例如,我们希望使用-n 1 2 3 4

          # parser.add_argument('--foo', nargs=4)

          # 执行脚本 python -foo 1 23 4 5 ---> 返回 Namespace(foo=['1', '23', '4', '5']).

    # const - #1.当add_argument(action='store_const|append_const' 时, const 为返回对象的常量值)

         # 2.当add_argument(添加选择项例如"like -f or --foo"和nargs = "?"时,这将创建一个可选参数,该参数可以由零或一个命令行参数跟随,

           #当解析命令行选项字符串为空时,用const值替代)

    # default - 如果命令行没有出现这个选项,那么使用default指定的默认值.

    # type - 如果希望传进来的参数是指定的类型(例如 float, int or file等可以从字符串转化过来的类型),可以使用

        parser.add_argument("-x", type=int)

    # choices - 设置参数值的范围,如果choices中的类型不是字符串,记得指定type

        # parser.add_argument("-y", choices=['a', 'b', 'd'])

        # required -required - 通常-f这样的选项是可选的,但是如果required=True那么就是必须的了

        # parser.add_argument("-z", choices=['a', 'b', 'd'], required=True)

    # help - 设置这个选项的帮助信息

    # metavar - 参数的名字,在显示 帮助信息时才用到.

        # parser.add_argument("-o", metavar="OOOOOO")

    #dest - 设置这个选项的值就是解析出来后放到哪个属性中,例子如下:

        # parser.add_argument("-q", action='store_const',dest="world",const='aaa')

        #results = parser.parse_args()

        #print(results.world) -> aaa ,其中store_const:存储值在参数的const部分指定,results.world 所展示的就是const的值
)

 

注:

只是熟悉了下参数, 具体用法请参照如下两个连接 或者 python 官方文档 ,如有错误请,欢迎指出   

参照如下链接:

  http://www.jb51.net/article/67158.htm

  http://www.2cto.com/kf/201208/149418.html

转载于:https://www.cnblogs.com/lcmemo/p/6393748.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值