zoukankan      html  css  js  c++  java
  • python学习——使用argparse参数解释器传递命令行参数

    argparse是python中用于传递和解析命令行参数的模块,例如:

    从cmd输入命令行

    E:15_pythonDEBUG>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:允许的参数值
    nargs:命令行参数的个数,一般使用通配符表示,其中,'*'表示输入任意个参数,'+'表示输入1个或多个参数,'?'表示输入0个或1个参数
    required:required=True将可选参数设置为必须输入的参数
    help:参数命令的介绍
  • 相关阅读:
    测量标准体重
    bytearray和file的后端上传方式
    jdbc in postgres
    Using dblink in Postgres
    计算文件的MD5值(Java & Rust)
    spring读写分离(配置多数据源)[marked]
    Spring Transaction + MyBatis SqlSession事务管理机制[marked]
    jetty ZipException: invalid entry size
    maven
    KAL1 LINUX 官方文档之虚拟化 --- 转换为OVA
  • 原文地址:https://www.cnblogs.com/caicai2019/p/10845232.html
Copyright © 2011-2022 走看看