argparse模块的使用

https://zhuanlan.zhihu.com/p/56922793
https://docs.python.org/zh-cn/dev/library/argparse.html#module-argparse
总结自:https://www.youtube.com/watch?v=cdblJqEUDNo
国内可访问:https://www.bilibili.com/video/BV1nb41157Zc?from=search&seid=1129874400953908710

该模块可以实现命令行选择参数。

如果不用该模块,计算一个圆柱体体积很麻烦。每次圆柱体的半径和高度变化时,需要打开编辑器进行改变。:
在这里插入图片描述如果使用该模块:

一共三步:

  1. 创建一个解析器
  2. 添加参数
  3. 解析参数
    在这里插入图片描述第7行中:description是对这个解析器对象的描述。
    第8、第9行则实现了添加两个参数,分别是radius和height,参数类型这里指定为了int(默认为str),这里的help则是对这两个参数的描述。
    第10、第17行实现了步骤3。对参数进行了解析。

运行结果如下:
在这里插入图片描述这里是位置参数,需要固定对radius和height的输入顺序,不方便。因此我们将参数类型改为可选参数:
在这里插入图片描述这时在命令行可以输入如下:
在这里插入图片描述(至于为什么会出现RADIUS和HEIGHT的大写,我不是很懂,但不影响使用吧。。。)

但这样输出很冗余,因此我们使用metavar属性实现简化。
在这里插入图片描述输出结果如下,可以发现,确实更简洁了。
在这里插入图片描述需要注意-r和-H是可选参数,可以不输入,编译器默认给他赋值一个None的值,但这样会导致运行结果出错。避免这种现象的产生需要另一个required属性
在这里插入图片描述关于互斥组概念:
在这里插入图片描述不能同时传入。
在这里插入图片描述还有default属性的概念,顾名思义:

parse.add_argument(’-a’,’–abc’,help=‘a sourcedir’,action=‘store_true’,default=3)
//这时如果加上default的关键字,如果加上参数的话为则参数的值为1,但如果不加则采用默认的3,不再是0
https://blog.csdn.net/yuyushikuan/article/details/79729660

关于action:https://blog.csdn.net/zkq_1986/article/details/85287896

创建一个a.py文件。文件内容如下。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--t', help=' ', action='store_true', default=False)

config = parser.parse_args()

print(config.t)
————————————————
版权声明:本文为CSDN博主「zkq_1986」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zkq_1986/article/details/85287896

运行python a.py,输出结果False

运行python a.py --t,输出结果True

即action=‘store_true’,只要运行时该变量有传参就将该变量设为True。

目前就用到了这些,其他的用到再说。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值