Python argparse中的action=store_true用法小结

目录
  • Python argparse中的action=store_true用法
    • 前言
    • 示例
    • 官方文档
    • 多了解一点儿
      • 自定义
    • 小结
    • 思考
  • 补充:python库Argparse中的可选参数设置 action=‘store_true‘ 的用法
    • 一、没有default
    • 二、有default

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

到此这篇关于Python argparse中的action=store_true用法小结的文章就介绍到这了,更多相关Python argparse中的action=store_true内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python命令行解析器argparse详解

    目录 第1章 argparse简介 1.1 解析 1.2 argparse定义三步骤 1.3  代码示例 第2章 参数详解 2.1 创建一个命令行解析器对象:ArgumentParser() 2.2 为命令行添加参数: add_argument() 方法 2.3 解析命令行的参数:parse_args() 2.4 命令行参数的输入 2.5 命令行参数的使用 总结 第1章 argparse简介 1.1 解析 argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argp

  • Python argparse库的基本使用步骤

    目录 基本用法 1.int支持 2.str支持 3.float支持 4.bool支持 5.数组支持 完整调用 argparse库是python下的一个命令行参数管理库,支持int.str.float.bool.数组等5种基本数据类型.在解析命令行参数时还支持默认值.此外,还支持修改命令行参数,在代码中增加命令行参数等操作.通过argparse库,可以实现参数的简易管理,控制代码执行中的一些流程或参数值. 基本用法 1.int支持 argparse的写法 ,class_nums的默认值为7 par

  • python中argparse模块基础及使用步骤

    目录 argparse模块用法 一. 概念 二. 基础 1. 使用步骤 1.1 总步骤 1.2 创建对象 1.3 添加参数 1.4 解析参数 三. 使用案例 argparse模块用法 一. 概念 argsparse是python的命令行解析的标准模块,内置于python,不需要安装.这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行. 官方文档的位置:[https://docs.python.org/zh-cn/3/library/argparse.html] 在这里我们利用git

  • python入门:argparse浅析 nargs='+'作用

    我就废话不多说了,大家还是直接看代码吧~ #aaa.py #version 3.5 import os #这句是没用了,不知道为什么markdown在编辑代码时,不加这一句,就不能显示代码高亮[汗] import argparse parser = argparse.ArgumentParser(description='Process some integers...') #初始化一个分析器 #parser.add_argument(中的参数) #__init__(self, option_s

  • Python中命令行参数argparse模块的使用

    目录 传入一个参数 位置参数 可选参数 默认参数 必需参数 argparse 模块是Python内置的用于命令项选项与参数解析的模块,可以轻松编写友好的命令行接口,能够帮助程序员为模型定义参数. 传入一个参数 add_argument()中的type参数表示传入参数的数据类型 import argparse #定义命令行解析器对象 parser = argparse.ArgumentParser(description='参数说明') #添加命令行参数 parser.add_argument('

  • Python命令行参数解析包argparse的使用详解

    目录 一.argparse简介 二.简单案例 三.ArgumentParser参数 四.add_argument指令参数解释 五.vars() 一.argparse简介 argparse 是 python 自带的命令行参数解析包,可以用来方便的服务命令行参数,使用之前需要先导入包 import argparse 二.简单案例 简单使用,创建一个名为test.py的文件 # 导入 argparse 模块 import argparse # 创建一个argparse 的对象 parser = arg

  • python argparse传入布尔参数false不生效的解决

    跑代码时,在命令行给python程序传入bool参数,但无法传入False,无论传入True还是False,程序里面都是True.下面是代码: parser.add_argument("--preprocess", type=bool, default=True, help='run prepare_data or not') 高端解决方案 使用可选参数store_true,将上述代码改为: parse.add_argument("--preprocess", ac

  • python中argparse模块及action='store_true'详解

    目录 Python argparse模块详解 1. 问题描述 2. add_argument() 方法官方介绍 action 3. 实例测试与对比 step01 step 02 step03:store后面是否可以自定义? step04:为什么我的输出值为None? step05 理解store_true,store_false Python argparse模块详解 argparse 是一个用来解析命令行参数的 Python 库,它是 Python 标准库的一部分.基于 python 2.7

  • Python argparse中的action=store_true用法小结

    目录 Python argparse中的action=store_true用法 前言 示例 官方文档 多了解一点儿 自定义 小结 思考 补充:python库Argparse中的可选参数设置 action=‘store_true‘ 的用法 一.没有default 二.有default Python argparse中的action=store_true用法 前言 Python的命令行参数解析模块学习. 示例 参数解析模块支持action参数,这个参数可以设置为’store_true’.‘store

  • mybatis 中 foreach collection的用法小结(三种)

    foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有 item,index,collection,open,separator,close. item表示集合中每一个元素进行迭代时的别名,     index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,     open表示该语句以什么开始,     separator表示在每次进行迭代之间以什么符号作为分隔 符,     close表示以什么结束. 在使用foreach的时候

  • C/C++ 中const关键字的用法小结

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性. Const作用 NO. 作用 说明 参考 1 可以定义const常量 const int Max = 100; 2 便于进行类型检查 const常量有数据类型,而宏常量没有数据类型.编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误 void f(const int i) { ---} //对传入的参数进行类型检查,不匹配进行提示 3 可以保护被修

  • python异常中else的实例用法

    1.说明 当确定没有异常后,还需要做一些事情可以使用else语句. 注意:try中没有异常,else之后的代码才会被执行. 2.实例 while True: try: x = int(input('请输入X:')) y = int(input('请输入Y:')) value = x / y print('x/y is',value) except Exception as e: # 发生异常时执行 print('不正确的输入:', e) print('请重新输入') else: # 未发生异常时

  • C#中AutoResetEvent控制线程用法小结

    目录 AutoResetEvent主要方法及实践 第二种方法Semaphore 第三种方法,约定每个线程只干自己的事 第四种方法 Mutex 本文主要来自一道面试题,由于之前对AutoResetEvent的概念比较模糊(即使已经使用过了).面试题题目很简洁:两个线程交替打印0~100的奇偶数.你可以先动手试试,我主要是尝试在一个方法里面完成这个任务. 注: Suspend,Resume来控制线程已经在.net framework2.0被淘汰了,原因就是挂起之后,但因为异常而没有及时恢复,如果占用

  • python argparse 模块命令行参数用法及说明

    目录 先上代码 下面针对一些特殊点再作详述 程序用法帮助 argparse 是 python 的一个命令行解析包,可根据需要编写高可读性的程序. 网上的许多教程较为冗长和散漫,没有达到精练好掌握的目的,本文针对项目中对 argparse 的用法,用实例对各个参数进行讲解,力求达到让读者秒懂的目的. 先上代码 import argparse if __name__ == '__main__': # 创建命令行解析器句柄,并自定义描述信息 parser = argparse.ArgumentPars

  • Python函数中的函数(闭包)用法实例

    本文实例讲述了Python闭包的用法.分享给大家供大家参考,具体如下: Python函数中也可以定义函数,也就是闭包.跟js中的闭包概念其实差不多,举个Python中闭包的例子. def make_adder(addend): def adder(augend): return augend + addend return adder p = make_adder(23) q = make_adder(44) print(p(100)) print(q(100)) 运行结果是:123和144.

  • python项目中requirements.txt的用法实例教程

    记录一下2021.12.11搞环境时遇到了一堆问题师兄跟我说的可以用requirements这个去装环境,不用一个一个装 网上查了一下这个requirements.txt,发现python项目中都会有这个,主要是用来记录环境里面的依赖包和精确地版本号. 如果有一个环境装好了,可以在环境里面使用 pip freeze > requirements.txt 自动生成这个requirements.txt文件,里面会包括你所安装的环境里面的依赖包和版本号 requirements.txt如下所示: 之后

  • JS中闭包的经典用法小结(2则示例)

    本文实例总结了JS中闭包的经典用法.分享给大家供大家参考,具体如下: 闭包这个东西,网上有很多介绍资料.个人看了很多,还是一知半解.这里不做理论介绍,直接给出2个例子. 代码1:记录函数被调用的次数 function a() { var i = 0; function b() { return ++i; } return b; } var c = a(); c();//1 c();//2 这种方式类似C语言中的private static变量,能够保持局部变量的内存不释放. 代码2:正确给DOM

随机推荐