[记录]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
'''

  

posted @   wsjhk  阅读(800)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示