[记录]Python2.7使用argparse模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # -*- coding: utf8 -*- import argparse #ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest]) #action:默认是store:保存值到参数名中;store_const:值存放在const中;store_true和store_false:值存为True或False;append:存为列表;append_const:存为列表,会根据const关键参数进行添加;count:统计参数出现的次数 #nargs: 指定参数值得个数,值可以为整数N(N个),*(任意多个),+(一个或更多),值为?时,首先从命令行获得参数,若没有则从const获得,然后从default获得 #const:保存一个常量 #type:这个参数用来指定参数的类型 #choices: 这个参数用来检查输入参数的范围 #required: 当某个选项指定需要在命令中出现的时候用这个参数 #help: 使用这个参数描述选项作用 #dest: 这个参数相当于把位置或者选项关联到一个特定的名字 #metavar: 这个参数用于help信息输出中 parser = argparse.ArgumentParser(description = "say something about this application !!" ) parser.add_argument( "-a" , "--age" , type = str , dest = 'aaa' , metavar = ( '123' ), nargs = "*" , help = "I can tell you how to set a name argument." ) parser.add_argument( "-b" , "--bool" , dest = 'bbb' , help = "I can tell you how to set a name argument." , action = "store_true" ) parser.add_argument( "-c" , "--count" , dest = 'ccc' , help = "this is an optional argument" , type = int , choices = [ 0 , 1 , 2 ]) parser.add_argument( "-v" , "--verbose" , dest = 'ddd' , action = "count" , default = 0 , help = "increase output verbosity" ) result = parser.parse_args() answer = result.ccc * * 2 if result.ddd > = 2 : print "the square of {} equals {}" . format (result.ccc, answer) elif result.ddd > = 1 : print "{}^2 == {}" . format (result.ccc, answer) else : print answer print result.aaa print result.bbb print result.ddd ''' 使用示例: #python args.py -b --count 2 -a 123 456 789 -vvvvv the square of 2 equals 4 ['123', '456', '789'] True 5 ''' |
分类:
编程
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥