argparse 是python标准库中处理命令行参数的
1。基本使用:
test.py
import argparse
#初始化
parser = argparse.ArgumentParser(description= 'this is a test')
parser.parse_args()
现在并没有实际功能,
当前目录下shell测试 python test.py -h
输出结果为 this is a test
argparse.ArgumentParser()
部分参数如下
prog = None -- 程序名
description = None -- help时显示的开始信息
epilog = None -- help时显示的结束信息
prefix_chars = '-' -- 命令的前缀,默认是‘-’
add_help = True -- 是否增加 -h/--help 选项,默认是True
2。添加位置参数
import argparse
# 初始化
parser = Argparse.argumentParser(description = 'this is a test')
parser.add_argument('num',help='give a num')
# 提取参数
args = parser.parse_args()
print(args.num)
3.添加选项参数
import argparse
# 初始化
parser = argparse.ArgumentParser(description = 'this is a test')
parser.add_argument('-v','--value',help= 'print the num')
args = parser.parse_args()
print(args.value)
注意:
-v 和 -value 都是可选参数,可选参数可以设置,也可以不设置,但是一旦设置必须要有值,
赋值之后,都会保存在最后定义的可选参数中,此例保存在args.value中
add_argument 参数相关
action -- 常用变量 store_const,store_true,store_false,分别记录了参数const的值,True,False
const -- 将值传递给 store_const
type -- 设置传入参数的类型
choices -- 设置传入参数在choices指定的范围
4。添加位置参数和可选参数
import argparse
# 初始化
parser = argparse.ArgumentParse(description = 'this is a test')
# 添加位置参数
parser.add_argument('num', type=int, help='num * 2' )
# 添加可选参数
parser.add_argument('-v', '--verbose', action='store_true', help='show more')
args = parser.parse_args()
answer = args.num *2
if args.verbose:
print('{}*2={}'.format(args.num,answer))
else:
print(answer)
测试:
>>> python test.py 3
>>> 6
>>> python test.py -v 3
>>> 3*2=6