解析命令行参数argparse.argumentParser()使用方

2024-06-02 14:28

本文主要是介绍解析命令行参数argparse.argumentParser()使用方,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、导入所需模块:

import argparse

 二、创建一个解析对象:

parser = argparse.ArgumentParser(description='Process some intergers.')
通常情况下可以省略description,简写为:
parser = argparse.ArgumentParser()
ArgumentParser对象包含将命令行解析成Python数据类型所需的全部信息;

三、添加运行时所需的参数:

parser.add_argument(*args, **kwargs)
(1)name:字符串类型,表示对应的参数名称,其格式为'--选项参数名称'或'位置参数名称';
a.位置参数(Positional Arguments):这些参数是不带'--'前缀的参数,通常用于需要按特定顺序提供的参数且通常是必需的;
b.选项参数(Optional Arguments):这些参数通常带有'--'前缀;选项参数是可选的,不需要按照特定的顺序提供且可以有默认值;
(2)type:表示输入参数的类型,可选值为int,str,float;
(3)default:表示参数默认的值,取值具体类型和对应参数的实际类型一致
(4)help:str类型,表示帮助信息,当用户使用-h或--help选项时该信息将显示在帮助文档中;
(5)nargs:用于定义一个选项参数应该消耗的命令行参数数量,它可以接受以下不同的取值:
a.字符'+':表示选项参数可以接受一个或多个参数值,多个参数值将被解析为一个列表;
b.字符'*':表示选项参数可以接受零个或多个参数值,多个参数值将被解析为一个列表,零个参数值将被解析为一个空列表[]
c.int类型的值:表示选项参数应该消耗固定数量的参数值;多个参数值将被解析为一个列表;
d.argparse.REMAINDER:表示选项参数应该消耗剩余的命令行参数,将其解析为一个列表;
(6)required:布尔类型,指定该参数是否是必需的,默认为False,即可选参数;
如果将其设置为True则在命令行中必须提供该参数,否则将引发错误;
(7)choices:list类型,指定参数的可选值列表;如果设置了该参数那么命令行中提供的值必须是列表中的一个,否则将引发错误
(8)action:str类型,指定参数的动作:
a.'store':默认动作,将参数值存储为属性;
b.'store_true':将参数解析为True;
c.'store_false':将参数解析为False;
d.'append':将多个参数值存储为列表;

 四、解析参数:

args = parser.parse_args()
返回的args为一个Namespace类型的对象
之后便可以使用'args.参数名称'的方式调用第三步中添加的参数

这篇关于解析命令行参数argparse.argumentParser()使用方的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1024220

相关文章

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca