Python argparse中的action=store_true用法小结
作者:coder1479 发布时间:2023-07-31 22:35:02
Python argparse中的action=store_true用法
前言
Python的命令行参数解析模块学习。
示例
参数解析模块支持action参数,这个参数可以设置为’store_true’、‘store_false’、'store_const’等。
例如下面这行代码,表示如果命令行参数中出现了"–PARAM_NAME",就把PARAM_NAME设置为True,否则为False。
parser.add_argument("--PARAM_NAME", action="store_true", help="HELP_INFO")
官方文档
‘store_true’ and ‘store_false’ - These are special cases of ‘store_const’ used for storing the values True and False respectively. In addition, they create default values of False and True respectively. For example:
‘store_true’ 和 ‘store_false’ -这两个是’store_const’的特例,分别用来设置True和False。另外,他们还会创建默认值。
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', action='store_true')
>>> parser.add_argument('--bar', action='store_false')
>>> parser.add_argument('--baz', action='store_false')
>>> parser.parse_args('--foo --bar'.split())
Namespace(foo=True, bar=False, baz=True)
多了解一点儿
自定义
你可以通过给定一个Action
的子类或其他实现了相同接口的对象,来指定一个任意的action
。BooleanOptionalAction
就是一个可以使用的action
,它增加了布尔action
特性,支持--foo
和--no-foo
的形式。
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', action=argparse.BooleanOptionalAction)
>>> parser.parse_args(['--no-foo'])
Namespace(foo=False)
小结
'--foo', action='store_true'
,可以很方便地实现布尔类型的参数。
思考
Python3 开始,很多内置模块都转向了面向对象范式。
对于早期开始使用Python的用户来说,见到的代码更多是面向过程或者是函数风格的,例如,从Google开源的一些项目可以看到很多Python 2.x的代码风格。
补充:python库Argparse中的可选参数设置 action=‘store_true‘ 的用法
store_true 是指带触发action时为真,不触发则为假。
通俗讲是指运行程序是否带参数,看例子就明白了。
一、没有default
import argparse
parser = argparse.ArgumentParser(description='test.py')
parser.add_argument('--cuda', type=bool, default=True, help='use cuda')
parser.add_argument('--cpu',action='store_true',help='use cpu')
args = parser.parse_args()
print("cuda: ",args.cuda)
print("cpu: ",args.cpu)
如果运行命令为:python test.py
则输出为:
cuda: True
cpu: False
如果运行命令为:python test.py --cpu
则输出为:
cuda: True
cpu: True
二、有default
当然 ‘store_true’ 也可以设置 default ,虽然这样看起来很奇怪,也不好用。如:
parser.add_argument('--cpu',default=True,action='store_true',help='use cpu')
print("cpu: ",args.cpu)
default=True时运行程序时加不加 “ --cpu ” 输出都是 cpu: True
但default=False就不一样了:
parser.add_argument('--cpu',default=False,action='store_true',help='use cpu')
print("cpu: ",args.cpu)
若运行命令是 python test.py,则输出 cpu: False
若运行命令是 python test.py --cpu,则输出 cpu: True
来源:https://blog.csdn.net/m0_48742971/article/details/124839044
猜你喜欢
- 本文实例分析了python对json的相关操作。分享给大家供大家参考,具体如下:什么是json:JSON(JavaScript Object
- 一、安装配置PHP1、下载Php的版本zip包之后,解压缩到指定目录。下载地址:http://www.php.net/downl
- 本文实例为大家分享了python实现彩 * 转换成灰度图的具体代码,供大家参考,具体内容如下from PIL import Imageimpo
- python一行输入n个数据有时会碰到一行输入多个数据,这是可以先用str类型存一组数据,然后再迭代的将每个数据追加到新的列表中。方法一先输
- 我就废话不多说了,大家还是直接看代码吧!一、举例tip/tip.js var react = function (
- 目录前言一、算法思想算法分析思想图解二、代码展示1.创建树节点结构2.实现倾倒动作主递归函数数据初始化总结前言有一个充满水的8品脱的水壶和两
- numpy库概述numpy库处理的最基础数据类型是由同种元素构成的多维数组,简称为“数组”数组的特点:数组中所有元素的类型必须相同数组中元素
- 前言在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求,整合了语音识别的python程序提供了其他技术无法比拟的交互性和可访问性
- 交互设计就是研究人与物体之间如何互动的问题,比如按电梯时,按钮立即高亮,同时屏幕上显示电梯现在所在楼层数,这个过程就是交互设计,而电梯按钮用
- 这篇文章主要介绍了django自定义模板标签过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 本文实例讲述了Django框架实现的简单分页功能。分享给大家供大家参考,具体如下:前面一篇《Django开发的简易留言板》写了个简单的留言板
- MySQL 提供了一个很有意思的Engine:Federated!如果你了解Linux下面的Link的话,就应该很好理解这个Federate
- 1、Dreamweaver中的复制我在网页中复制的文字,粘贴到Dreamweaver中时,它总是带有原来网页的格式,请问如何只复制其中的文本
- 一旦你准备好了翻译,如果希望在Django中使用,那么只需要激活这些翻译即可。在这些功能背后,Django拥有一个灵活的模型来确定在安装和使
- 如何显示存储在BLOB字段中的图像?showimges.asp' 在浏览器上单独显示图像 <%@ 
- 论坛经常有人会问到用CSS如何美化Select标签,其实但凡你看到很酷的都是用javascript来实现的。昨天试着做了一下,基本实现的初级
- 本文实例讲述了Python计算两个日期相差天数的方法。分享给大家供大家参考,具体如下:#!/usr/bin/pythonimport tim
- 初次安装完PyCharm后,新建项目时,遇到了No Python interpreter selected的问题。意思是说没有找到Pytho
- 1.urlopen()方法urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象
- 一.下载安装包1.安装网址https://www.jetbrains.com/pycharm/2.在导航栏输入网址回车3.点击 DOWNLO