zoukankan      html  css  js  c++  java
  • Python argparse模块

    Python可以直接从命令行读取参数,而这一功能就是通过argparse模块实现的,当参数较少且简单时,我们可以直接用sys.argv来获取,但是当参数比较多且复杂的时候就需要专业的argparse了。

    直接来个传送门吧;(https://www.cnblogs.com/arkenstone/p/6250782.html)

    下面附上最新代码实例

    '''提示运行时必须要输入的参数与参数类型'''
    def get_parser():
        parser = argparse.ArgumentParser(description='change extension of files in a working directory')
        parser.add_argument('work_dir', metavar='WORK_DIR', type=str, nargs=1, help='the directory where to change extension')
        parser.add_argument('old_ext', metavar='OLD_EXT', type=str, nargs=1, help='old extension')
        parser.add_argument('new_ext', metavar='NEW_EXT', type=str, nargs=1, help='new extension')
        return parser
    

    与argparse紧密联系的是Python的vars方法,当我们使用argparse获取到参数时,类型是个类的实例,这时候我们要调用就需要用vars方法把实例变成字典类型。

    import argparse
    
    def math_add(a,b,c):
        d = a + b + c
        return d
    
    if __name__ == '__main__':
        parse = argparse.ArgumentParser(description='描述参数')
        parse.add_argument('a', metavar='a', type=str, nargs=1, help='diyige')
        parse.add_argument('b', metavar='b', type=str, nargs=1, help='diyige')
        parse.add_argument('c', metavar='c', type=str, nargs=1, help='diyige')
        args = vars(parse.parse_args())
        print(args)
        print(type(args))
        print(args['a'])
        print(math_add(args['a'][0], args['b'][0], args['c'][0],))
    

      

  • 相关阅读:
    SpringBoot: 2.SpringBoot整合servlet(转)
    SpringBoot: 1.创建第一个SpringBoot项目(转)
    SqlServer:SqlServer(服务器磁盘监控,创建管理员账号分配权,添加链接服务器,查询CPU,查询内存)
    Log parser工具使用
    目录爆破工具
    安装腾讯QQ问题记录
    Sql Server 2017 安装问题记录
    reGeorg+Proxifier使用
    Swaks
    python2.7 安装pycrypto库报错
  • 原文地址:https://www.cnblogs.com/zhoufankui/p/8688366.html
Copyright © 2011-2022 走看看