argparse
使用argparse的ArgumentParser类可以从命令行输入参数 ArgumentParser里的add_argument()定义单个的命令行参数
添加一个命令行参数
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
name:命令行参数的命名,如a(位置参数),–foo(可选参数) action: 当参数在命令行中出现时使用的动作 (1) ‘store’ - 存储参数的值。这是默认的动作 (2)‘store_const’ - 存储被 const 命名参数指定的值,如
parser=argparse.ArgumentParser()
parser.add_argument("--a",action='store_const',const=45)
print(parser.parse_args())
运行结果:
Namespace(a=45)
(3)‘store_true“ 和’store_false" 默认存储为True或者False
parser=argparse.ArgumentParser()
parser.add_argument("--a",action='store_true')
print(parser.parse_args())
运行结果:
Namespace(a=True)
(4)还有其他的action:append,append_const,append_const,help,version,extend
解析命令行参数
使用add_argument()添加命令行参数后,可以使用parse_args()或者parse_known_args()方法,得到一个Namespace的对象 可以使用vars()方法将其转换成一个字典
parser=argparse.ArgumentParser()
parser.add_argument("a")
parser.add_argument("b")
args=parser.parse_args()
dict1=vars(args)
print(type(dict1))
运行结果: <class ‘dict’>
位置参数和选项参数
parser.add_argument(“a”) 这种是位置参数,运行时必须参数该参数 python3 命令行参数.py 1 2 parser.add_argument("–f") 这种参数f是可选参数 如: python3 命令行参数.py --f 12
|