add_argument函数action参数的store_true==》在运行程序添加参数时直接输入变量名,可以省略对应的默认值True或者False
import argparseparser = argparse.ArgumentParser(description="description")parser.add_argument('--pa','-a',action='store_true') # store_true 就默认为False
parser.add_argument('--pb','-b',action="store_true",default=True)
parser.add_argument('--pc','-c',action="store_true",default=False)parser.add_argument('--pd','-d',action='store_false') # store_false 就默认为True
parser.add_argument('--pe','-e',action="store_false",default=True)
parser.add_argument('--pf','-f',action="store_false",default=False)args = parser.parse_args()
print(args)
# 不指定参数的时候
# Namespace(pa=False, pb=True, pc=False, pd=True, pe=True, pf=False)
# 运行 python 1.py -a -b -c -d -e -f
# Namespace(pa=True, pb=True, pc=True, pd=False, pe=False, pf=False)
# 运行 python 1.py --pa --pb --pc --pd --pe --pf
# Namespace(pa=True, pb=True, pc=True, pd=False, pe=False, pf=False)
直接上代码:
可以看到,
不指定 default的时候:
action='store_true' 的默认值为 False
action='store_false' 的默认值为 True
如果指定 default:
那就按照default的值作为初始值,例如:action='store_true',default = False 的默认值就为 False
命令行指定了参数:
如果命令行中指定了该参数,就是--pa/--a ......那么就会变为action里面的值,例如:action='store_true'的参数,那么命令行指定了该参数,那么它就为 true,和default无关
灵活设置命令行参数的行为方式,可以给程序设计带来很大的便利,毕竟输入和输出也是很重要的两个部分。我们用python的argparse模块制作命令行程序,用argparse.ArgumentParser对象的add_argument函数增加命令行参数,而action用来控制命令行参数的(部分)行为方式。
有一个比较有意思的传参方式:
比如在 demo1.py 中指定 action=’store_true’的时候:
parser.add_argument(‘--is_train’, action=’store_true’, default=False)
在运行的时候:
python demo1.py 默认是False
python demo1.py --is_train 是True, 注意这里没有给 is_train赋值
这个用法是“开关”的作用。即假如原来默认是Fasle那么现在你添加该参数后不需要指定True或者False就可以改变它的默认值,
指定action='store_true'之后,在运行程序添加参数时直接输入变量名,可以省略对应的默认值True或者False
https://blog.csdn.net/zjm750617105/article/details/76572409
https://blog.csdn.net/liuweiyuxiang/article/details/82918911
add_argument函数action参数的store_true==》在运行程序添加参数时直接输入变量名,可以省略对应的默认值True或者False相关推荐
- ABP学习 解决:Update-Database : 无法将“Update-Database”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的问题
ABP学习 解决:Update-Database : 无法将"Update-Database"项识别为 cmdlet.函数.脚本文件或可运行程序的名称的问题 参考文章: (1)AB ...
- ubuntu:无法将“ubuntu1804.exe”项识别为cmdlet、函数、脚本文件或可运行程序的名称。【已解决】
出现问题:无法将"ubuntu1804.exe"项识别为cmdlet.函数.脚本文件或可运行程序的名称. 解决办法: 第一步 进入此目录下查看是否有"ubuntu180 ...
- 解决vue: 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称...
我是用yarn安装的vue脚手架(yarn global add @vue/cli),yarn提示安装成功后,运行了下vue --version,结果报错. vue : 无法将"vue&qu ...
- '无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称' 或 'vue不是内部或外部命令' 的解决方法...
如果在使用 vue 初始化项目的时候提示: vue : 无法将"vue"项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确,然 ...
- tensorboard : 无法将“tensorboard”项识别为 cmdlet、函数、脚本文件或可运行 程序的名称。
tensorboard可视化建模 tensorboard : 无法将"tensorboard"项识别为 cmdlet.函数.脚本文件或可运行 程序的名称.请检查名称的拼写,如果包括 ...
- vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。
vue : 无法将"vue"项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次. 报错原因: 没有安装脚手架v ...
- yarn的配置 -- 无法将“yo”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
yo : 无法将"yo"项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次. 在这里以 yarn 安装 yeom ...
- 解决VScode安装Babel转码器报错:无法将“cnpm“项识别为cmdlet\函数、脚本文件或可运行程序的名称的问题
解决VScode安装Babel转码器报错:无法将"cnpm"项识别为cmdlet\函数.脚本文件或可运行程序的名称的问题 报错结果如下: 解决方案 第一步:安装npm 点我安装np ...
- Python pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
Python pip : 无法将"pip"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. 检查名称的拼写,路径是否正确 将python安装路径下的Scripts添加到系 ...
最新文章
- 用Python就可以给你的头像戴上圣诞帽,别@微信团队了!
- php mysql sample,GitHub - BensonWuu/php-apache-mysql-sample
- jquery and jquery validation 常见问题解决
- (转)jquery插件Validate的使用
- LeetCode —— 1554. 只有一个不同字符的字符串(Python)
- linux 读分区表文件,Linux 磁盘分区表、文件系统查看和操作
- Linux 高级流量控制
- 华为HarmonyOS 2.0全面升级,构建中国软件的“根”!
- 普林斯顿微积分读本篇十三:积分
- Java 编程练习之:101-200之间的素数
- 什么是网站PR值?如何提高网站pr值?网站pr值查询!
- Qt编写安防视频监控系统65-子模块9数据调试
- 清华大学计算机刘云鹏,清华大学2017年在豫高招录取结束
- python-gif图生成
- wechat4j获取用户昵称乱码修复
- 触龙说赵太后原文及翻译
- java默认收集器_jvm默认垃圾收集器
- Java发送邮件中文乱码问题
- 警惕不良商家利用Panasonic SDFormatter 软件对SD/TF卡容量造假
- ArcGIS之宗地分割与编号
热门文章
- Oracle的REDO和UNDO
- 靠加班?靠团建?靠个人?请停止无效努力!
- iOS NSURLSession DataTask(数据任务)
- 《编写高质量代码:改善c程序代码的125个建议》——建议4-2:浮点数转换为新类型时必须做范围检查...
- CDN缓存服务器现状
- 天线增益英文名称:antenna gain
- java网络图片与二进制字符串相互转换
- android系统自动休眠代码流程,Android P 电源管理(4)待机流程
- 信息学奥赛一本通 2042:【例5.10】稀疏矩阵
- 信息学奥赛一本通(2034:【例5.1】反序输出)