Python 内置的一个用于命令项选项与参数解析的模块argparse

简介: 1、argparse介绍:> argparse 是 Python 内置的一个用于命令项选项与参数解析的模块;> argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息

1、argparse介绍:

argparse 是 Python 内置的一个用于命令项选项与参数解析的模块;
argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息

2、argparse使用:

示例代码:

#导入argparse模块
import argparse  
# 创建解析器
parser = argparse.ArgumentParser(description='desc')  
# 添加整型参数
parser.add_argument('--integers', type=int, default=0, help='input an integer')  
# 解析参数parse_args()通常不带参数调用,ArgumentParser将自动从sys.argv确定命令行参数。
args = parser.parse_args()  
print(args)
#返回一个具有integers属性的对象 Namespace(integers=0).

源码中的add_argumrnt()方法解析:

ArgumentParser.add_argument(name or flags...,
                            action='',
                            nargs='',
                            const,
                            default,
                            type,
                            choices,
                            required,
                            help,
                            metavar,
                            dest)
add_argument('-f', '--foo') # 可选参数
add_argument('foo') # 位置参数
action #该action关键字参数指定的命令行参数应该如何处理
action = 'store' # 默认操作仅存储参数的值,可以不写
action = 'store_const' # 将存储由const关键字参数指定的值
action = 'store_true' # 这些是'store_const'分别存储值True和False的情况下使用
action = 'store_false'
action = 'append' # 存储一个列表,并将命令行的每个参数值附加到列表中
action = 'append_const' # 存储一个列表,并将const关键字参数指定的值附加到列表中,可用于多个参数需要将常量存储到同一列表,const默认参数为None
action = 'count' # 计算关键字参数出现的次数
action = 'extend' # 存储一个列表,并将每个参数值添加到列表中
nargs : 将单个命令行参数与要执行的单个操作相关联,并收集到一个列表中
nargs = N(一个整数) # nargs=2,命令行python test.py --foo a b 将a,b收集到一个列表中
nargs = ? # 表示从命令行使用一个参数,作为选项参数的值,如果命令行指定了参数的值则使用(python test.py --foo xx),如果不存在命令行参数(python test.py),使用default默认值,如果存在可选项参数(python test.py --foo),但是没有指定参数值,会使用const的值。
nargs = * # 存在的所有命令行参数都收集到一个列表中
nargs = + # 跟*用法一样,都会收集到一个列表中,但是如果没有命令行参数则会报错
default # 指定默认值
type # 指定类型 int float等
choices # 指定某些命令行参数应从一组受限制的值中选择,如果参数不是可接受的值一直,则报错
required=True # 指定参数值为必填
help #帮助信息说明

代码示例,

实现输入数字,返回指定值
import argparse

# 创建解析对象,并添加描述信息
parser = argparse.ArgumentParser(description = "输出数字2倍数") 
# 添加命令行参数“num",还有该参数的帮助信息,参数类型
parser.add_argument("num", help="2*num a given number", type = int)
# 进行解析
args = parser.parse_args()
# 实现功能
print(args.square*2)
相关文章
|
2天前
|
Python
【Python进阶(五)】——模块搜索及工作目录
【Python进阶(五)】——模块搜索及工作目录
|
2天前
|
Python
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存
【5月更文挑战第12天】在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存在,该函数对路径进行检查,存在则返回True,不存在则返回False。示例代码展示了如何检查'example.txt'文件是否存在并相应打印消息。此外,`os.path.isfile()`用于确认路径是否为文件,仅当是文件时返回True,否则返回False,同样配以示例说明其用法。
11 2
|
4天前
|
Python Windows
python中的异常与模块
python中的异常与模块
10 1
|
5天前
|
XML 存储 数据格式
python path解析基础
python path解析基础
12 0
|
5天前
|
数据采集 Python
Python HTML解析详解
Python HTML解析详解
7 0
|
8天前
|
JSON 安全 前端开发
解析FormData格式数据:Python实践指南
解析FormData格式数据:Python实践指南
14 1
|
14天前
|
分布式计算 DataWorks 调度
DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 0
|
14天前
|
JSON 数据格式 Python
Python标准库中包含了json模块,可以帮助你轻松处理JSON数据
【4月更文挑战第30天】Python的json模块简化了JSON数据与Python对象之间的转换。使用`json.dumps()`可将字典转为JSON字符串,如`{"name": "John", "age": 30, "city": "New York"}`,而`json.loads()`则能将JSON字符串转回字典。通过`json.load()`从文件读取JSON数据,`json.dump()`则用于将数据写入文件。
18 1
|
14天前
|
Linux API Python
【python】如何通过python来发邮件,各种发邮件方式详细解析
【python】如何通过python来发邮件,各种发邮件方式详细解析
|
14天前
|
Python
Python实现压缩解压---tarfile模块详解
Python实现压缩解压---tarfile模块详解

推荐镜像

更多