zoukankan      html  css  js  c++  java
  • argparse 模块 在终端执行脚本文件

    1、案例

    #1、案例: 
    import argparse #首先导入模块
    parser = argparse.ArgumentParser() #创建一个解析对象
    parser.add_argument('-u', '--username', help='username',default='userId') #向该对象中添加你要关注的命令行参数和选项
    parser.add_argument('-p', '--password', help='password',default='123456')
    args = parser.parse_args() #进行解析
    username=args.username
    password=args.password
    if __name__ == '__main__':
        print(username)
        print(password)

    2、参数介绍

    #1、使用步骤:
      (1)import argparse    首先导入模块
      (2)parser = argparse.ArgumentParser()    创建一个解析对象
      (3)parser.add_argument()    向该对象中添加你要关注的命令行参数和选项
      (4)parser.parse_args()    进行解析
    
    #2、argparse.ArgumentParser()方法参数须知:一般我们只选择用description
      prog=None             #程序名
      description=None,    #help时显示的开始文字
      epilog=None,         #help时显示的结尾文字
      parents=[],           #若与其他参数的一些内容一样,可以继承
      formatter_class=argparse.HelpFormatter,     #自定义帮助信息的格式
      prefix_chars='-',               #命令的前缀,默认是‘-’
      fromfile_prefix_chars=None,    # 命令行参数从文件中读取
      argument_default=None,      #设置一个全局的选项缺省值,一般每个选项单独设置
      conflict_handler='error',   #定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常
      add_help=True    #是否增加-h/--help选项,默认是True)
    
    #3、add_argument()方法参数须知:
     ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
      
     (1)name or flags...   #必选,指定参数的形式例如 foo 或者 -f, --foo。 
     (2)action # 命令行遇到参数时的动作,默认值是 store。
          store_const#表示赋值为const;
          append#将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
          append_const#将参数规范中定义的一个值保存到一个列表;
          count#存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;
     (3)nargs  #应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数。
            parser.add_argument('ver', nargs = 2, type = int)
     (4)const   #action 和 nargs 所需要的常量值,用于保存常量值,它们不是从命令行读入但是是ArgumentParser 的动作所要求的
     (5)default  #不指定参数时的默认值。
     (6)type    # 指定参数类型,'str' and 'int'
          parser.add_argument('--ver', '-v', required = True, type = int)
     (7)choices #设置参数的范围,如果choice中的类型不是字符串,要指定type表示该参数能接受的值只能来自某几个值候选值中,除此之外会报错,用choice参数即可
          parser.add_argument('--ver', '-v', choices = ['test1', 'test2'])
     (8)required #可选参数是否可以省略 (仅针对可选参数)
     (9)help   #参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息
     (10)metavar #默认情况下,对于位置参数直接使用dest的值,对于可选参数则将dest的值变为大写。注意metavar只会改变显示出来的名字parse_args() 对象中属性的名字仍然由dest的值决定。
     (11)dest  #设置这个选项的value解析出来后放到哪个属性中,对于位置参数的动作,dest 通常作为第一个参数提供给add_argument(),对于可选参数的动作,dest的动作通常从选项字符串推导出来,如:ArgumentParser生成的dest的值是将第一个长的选项字符串前面的–字符串去掉。如果没有提供长选项字符串,dest的获得则是将第一个短选项字符串前面的-字符去掉。任何内部的-将被转换为字符以确保字符串是合法的属性名字。(即对于可选参数,先找长的选项字符串,再找短选项字符串,并且内部的-会被转换为字符)
          parser.add_argument('-v', choices = ['test1', 'test2'], dest = 'world')
  • 相关阅读:
    索引虚拟oracle virtual index
    用户盘云存储——百度网盘
    数据类型泛型的嵌套使用
    函数返回值C语言中malloc函数返回值是否需要类型强制转换问题
    控制文件oracle controlfile structure
    程序语言POJ 2406 Power Strings
    数组信息[置顶] php数组转换js数组操作及json_encode应用
    代码电话《程序员的第一年》情感编
    泛型通配符泛型中使用 通配符
    数字字符串一道有道实习生笔试算法题分析
  • 原文地址:https://www.cnblogs.com/snailgirl/p/9415924.html
Copyright © 2011-2022 走看看