现在最新的是argparser
首先,看个例子(这个例子是抄标准库的 🙃):
1 | import argparse |
关于argparse.ArgumentParser(),一些常用的配置有:
prog: 程序名字,在help字符串中可以用”%{prog}s”来引用usage: 默认生成就可以了description: 在显示命令之前展示的文字,比如一些描述程序是干嘛的epilog: 在显示命令之后展示的文字,比如说一些examplesformatter_class: argparse.RawDescriptionHelpFormatter表示description和epilog都是格式化好了,不用程序自己去格式化了,argparse.RawTextHelpFormatter表示help和命令描述都是格式化好了,不用程序再去格式化了。
其他的自己去发掘吧
关于ArgumentParser.add_argument()有以下常用的东西:
- 添加一个位置命令:
parser.add_argument("file") - 添加一个短命令:
parser.add_argument("-f") - 添加一个长命令:
parser.add_argument("--foo") - 添加帮助:
parser.add_argument("-f","--foo",help="这是帮助") - 添加命令取值的提示:
parser.add_argument("-f","--foo",metavar="FILE") - 指定命令取值的个数:
parser.add_argument("-f",nargs=2) - 指定命令取值的类型:
parser.add_argument("-f",type=int) - 指定命令取值的默认值:
parser.add_argument("-f",default="aa.txt") - 指定命令取值的动作:
parser.add_argument("-f",action="store_true"),store_true是存储为True - 指定命令取值的存储位置:短命令默认是短命令的名字,比如第2个里的
f,长命令默认是长明令的名字,比如第3个里的foo,长短都有就取长的,都不喜欢的话就这样指定parser.add_argument("-f","--foo",dest="foovalue"),就存到foovalue中了,以后使用就是args["foovalue"] - 指定命令取值的范围:
parser.add_argument("-f",choices=["a.txt","b.txt"])
好了,就是这些,用的愉快~