argparse是python中用于传递和解析命令行参数的模块,例如:
从cmd输入命令行
E:\15_python\DEBUG>python fasta_argparse.py -avg -min_len 50 100 10 200 40
回车得到
total length:300.00
average length:150.00
下面用实例介绍一下在python编程是如何使用:
1 # 第一步,导入argparse模块 2 import argparse 3 # 第二步,构建参数解释器 4 parser = argparse.ArgumentParser(description='This is a example program') 5 # 第三步,添加参数,可以是定位参数(例如'chr'),或者可选参数(例如'-min_len'),加有'-'的表示是可选参数 6 parser.add_argument('chr', 7 type=int, # 把从命令行传递的参数转为指定的类型 8 nargs='+', # '*'表示输入任意个参数,'+'表示输入1个或多个参数,'?'表示输入0个或1个参数 9 help='length for chr') 10 parser.add_argument('-min_len', 11 type=int, 12 # default=50 13 choices=[20,50,100], # 限定-min 14 required=True, # 限定必须输入-min_len参数 15 help='min length cutoff for sequence') 16 parser.add_argument('-avg', 17 action='store_true', #添加开关,即触发参数的动作 18 help='Turn on average length statistics') 19 20 # 第四步,解释参数 21 args = parser.parse_args() 22 chr_len = [i for i in args.chr if i > args.min_len] #使用列表生成式对传递的参数进行cut 23 print('total length:{:.2f}'.format(sum(chr_len))) 24 25 if args.avg: 26 avg_len = sum(chr_len)/len(chr_len) 27 print('average length:{:.2f}'.format(avg_len))
add_argument()常用的参数:
dest:如果提供dest,例如dest="a",那么可以通过args.a访问该参数
default:设置参数的默认值
action:参数触发的动作
store:保存参数,默认
store_const:保存一个被定义为参数规格一部分的值(常量),而不是一个来自参数解析而来的值。
store_ture/store_false:保存相应的布尔值
append:将值保存在一个列表中。
append_const:将一个定义在参数规格中的值(常量)保存在一个列表中。
count:参数出现的次数
version:打印程序版本信息
type:把从命令行输入的结果转成设置的类型
choice:允许的参数值
dest:如果提供dest,例如dest="a",那么可以通过args.a访问该参数
default:设置参数的默认值
action:参数触发的动作
store:保存参数,默认
store_const:保存一个被定义为参数规格一部分的值(常量),而不是一个来自参数解析而来的值。
store_ture/store_false:保存相应的布尔值
append:将值保存在一个列表中。
append_const:将一个定义在参数规格中的值(常量)保存在一个列表中。
count:参数出现的次数
version:打印程序版本信息
type:把从命令行输入的结果转成设置的类型
choice:允许的参数值
nargs:命令行参数的个数,一般使用通配符表示,其中,'*'表示输入任意个参数,'+'表示输入1个或多个参数,'?'表示输入0个或1个参数
required:required=True将可选参数设置为必须输入的参数
help:参数命令的介绍