当前位置: 首页 > article >正文

argparse参数总结(方便之后自己看)

        argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数。其主要用法如下:

# 1导入
import argparse

# 2.建立对象
parser=argparse.ArgumentParser(description="This is a Demo")

# 3.增加属性
parser.add_argument('--name',default="pn")

# 4实例化
args=parser.parse_args() 

# 5打印参数
print(args.name)

        description是argparse的具体描述,add_argument用来增加参数。更多的参数介绍如下:

1.default:默认参数

2.required:该参数是否一定需要设置(True表示该参数一定要设置)

3.type:参数类型。默认的参数类型是str类型,如果需要整数或者布尔型参数,需要设置type=int或者type=bool

4.choices:参数值只能从几个选项里面选择。例如:

parser.add_argument('-arch', required=True, choices=['yolov4', 'yolox'])

5.help:指定参数的说明信息

6.nargs:设置参数在使用时提供的个数。例如:

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

 其中x的候选值和含义如下:

值  含义
N   参数的绝对个数(例如:3)
'?'   0或1个参数
'*'   0或所有参数
'+'   所有,并且至少一个参数
# 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

7.dest:设置参数的变量名。argparse默认的变量名是---后面的字符串,但是你也可以通过dest=xxx来设置参数的变量名,然后在代码中用args.xxx来获取参数的值。

8.action - 命令行遇到参数时的动作,默认值是 store。

        store_ture/store_false:保存相应的布尔值
        store_const,表示赋值为const;
        append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
        append_const,将参数规范中定义的一个值保存到一个列表;
        count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;

参考:

https://blog.csdn.net/yy_diego/article/details/82851661?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162769923216780262510649%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162769923216780262510649&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-82851661.first_rank_v2_pc_rank_v29&utm_term=argparse&spm=1018.2226.3001.4187

https://vra.github.io/2017/12/02/argparse-usage/ 


http://www.kler.cn/news/10154.html

相关文章:

  • 模板学堂|DataEase图表样式解析
  • 科技成果评价最新攻略,你确定不来看看?
  • Python实现Imagenet数据集的合并和拆分
  • 一篇文章让你搞懂TypeScript中的??和?:和?.和!.是什么意思
  • 风电的Weibull分布及光电的Beta分布组合研究(Matlab代码实现)
  • 开源后台管理系统解决方案 boot-admin 简介
  • 关于ChatGPT人工智能浅谈
  • Oracle之PL/SQL游标练习题(三)
  • 服务器部署需要注意的事项
  • 多个渠道成功销售的秘诀速递
  • 深度学习数据集—水果数据集大合集
  • C++模板初阶
  • 系统集成项目管理工程师软考第三章习题(每天更新)
  • 如何找回u盘被删除的文件
  • 00后卷王的自述,我难道真的很卷?
  • 模拟点击是啥?如何实现的呢?
  • 分享4个不可或缺的 VSCode 插件,让 Tailwind CSS开发更简单
  • Spring核心与设计思想
  • 如何使用golang库gqlgen?如何在golang中实现graphql请求?
  • 环形缓冲区
  • 14 个快速简洁的单行 JavaScript 代码解决方案
  • 报名截至在即 | “泰迪杯”挑战赛最后一场赛前指导直播!
  • java 泛型 万字详解(通俗易懂)
  • 【Linux系统文件管理(cat,awk指令)和网络IP配置,广播地址,修改子网掩码以及ping网关地址】
  • nova7换红米k60
  • NodeRED学习(五)http websoket
  • 【WebRTC技术专题】更进一步,核心组件RTP/RTCP数据传输协议 (3)
  • 理解 与 计算 物联网产品的电池使用寿命
  • Golang每日一练(leetDay0033) 二叉树专题(2)
  • c#多线程