写点什么

python 入门之内置模块 argparse

作者:技能实验室
  • 2022-10-19
    河南
  • 本文字数:1378 字

    阅读完需:约 1 分钟

1、argparse 介绍:


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


2、argparse 使用:


ArgumentParser 对象的相关属性。全部参数见下表:



示例代码:


#导入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 默认参数为 Noneaction = '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)
复制代码


发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022-07-26 加入

还未添加个人简介

评论

发布
暂无评论
python入门之内置模块argparse_Python_技能实验室_InfoQ写作社区