ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

argparse 命令行参数解析包

2020-07-26 16:31:29  阅读:246  来源: 互联网

标签:__ argparse args name parser 参数 命令行 解析


简介

argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广

使用方法

  1. 导入 argparse
  2. 创建 ArgumentParser 对象,可添加描述(description)信息,表明这个对象的功能
  3. 添加参数处理,可添加多个
import argparse

def get_parser():
    # 创建ArgumentParser对象,里面可以添加描述信息
    parser = argparse.ArgumentParser(description="Demo of argparse")
    # 添加参数处理
    parser.add_argument('--name', default='Coolin')
    
    return parser
    
if __name__ == '__main__':
    parser = get_parser()
    args = parser.parse_args()
    name = args.name
    print('name:%s' % name)



$ python name.py --name zcy

name:zcy


参数解析

1、变量名:

ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][,metavar][, dest])
  • –name : 参数全名,需要加在参数上 如:python demo.py --name zcy
  • -n:参数简称,可与–name同时存在
  • name 或者 dest=name:参数名,提供参数占位符,必须填写,否则报错。如:python demo.py zcy

2、default参数:提供参数默认值

3、required:默认情况下,可选项(前面有'-')被认为并不一定需要出现在命令行参数中,但是如果设置了required=True的话,则必须出现。此类设置违背人的常识,应避免使用

4、type:用于类型检查和类型转换;参数类型,默认是str ,如果需要int ,type=int即可

5、choices:参数的值只能在几个选项中选择:

# file-name: choices.py
import argparse

def get_parser():
    parser = argparse.ArgumentParser(
        description='choices demo')
    parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'])

    return parser

if __name__ == '__main__':
    parser = get_parser()
    args = parser.parse_args()
    print('the arch of CNN is '.format(args.arch))

6、help:指定参数的说明信息,可使用-h(–help)查看该信息

7、nargs:设置参数的个数

格式

parser.add_argument('-name', nargs=x)

x 的候选值以及含义

含义
N 参数的绝对个数(如:3)
‘?’ 0或1个参数
‘*’ 0或多个参数
‘+’ 1或者多个参数
# file-name: nargs.py
import argparse

def get_parser():
    parser = argparse.ArgumentParser(
        description='nargs demo')
    parser.add_argument('-name', required=True, nargs='+')

    return parser


if __name__ == '__main__':
    parser = get_parser()
    args = parser.parse_args()
    names = ', '.join(args.name)
    print('Hello to {}'.format(names))

$ python nargs.py -name A B C
Hello to A, B, C

8、metavar: 参数的名字,在显示 帮助信息时才用到.(帮助信息)

标签:__,argparse,args,name,parser,参数,命令行,解析
来源: https://www.cnblogs.com/kai-/p/13380787.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有