• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

python中内置模块argparse的用法

argsparse是python的命令行解析的标准模块,内置于python,不需要安装。这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行。
官方文档的位置:【https://docs.python.org/zh-cn/3/library/argparse.html】
用法:
1.导包:
import argparse
2.创建对象:
parser = argparse.ArgumentParser()
3.添加参数:
parser.add_argument()
4.解析参数:
parser.parse_args()

2.1 创建对象

parser = ArgumentParser(prog=None, usage=None,description=None, epilog=None, parents=[],formatter_class=argparse.HelpFormatter, prefix_chars='-',fromfile_prefix_chars=None, argument_default=None,conflict_handler='error', add_help=True)

参数说明:
prog:程序的名字,默认为sys.argv[0],用来在help信息中描述程序的名称
usag:描述程序用途的字符串
description:help信息前的文字
epilog:help信息之后的信息
add_help:是否添加帮助信息
prefix_chars:参数前缀,默认为-
fromfile_prefix_chars:前缀字符,放在文件名之前
argument_default:参数的全局默认值
conflict_hander:对冲突的处理方式,默认为返回错误“error”。还有“resolve”,智能解决冲突。当用户给程序添加了两个一样的命令参数时,“error”就直接报错,提醒用户。而“resolve”则会去掉第一次出现的命令参数重复的部分或者全部(可能是短命令冲突或者全都冲突)

3.1 添加参数

add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

参数说明:
name or flags:参数有两种,可选参数和位置参数。parse_args()运行时,会用-来认证可选参数,剩下的即为位置参数。位置参数必选,可选参数可选

可选参数

parser.add_argument("-f", "--foo")

位置参数

parser.add_argument("bar") # 位置参数在运行时一定要输入
action:动作,argparse内置6种动作可以在解析到一个参数时进行触发
store:保存参数值,可能会先将参数值转换成另一个数据类型。默认动作为这个
store_const:保存一个被定义为参数规格一部分的值,而不是一个来自参数解析而来的值。这通常用于实现非布尔值的命令行标记
stroe_true/store_false:保存相应的布尔值,这两个动作被用于实现布尔开关
append:将值保存到一个列表中。若参数重复出现,则保存多个值
append_const:将一个定义在参数规格中的值保存到一个列表中
version:打印关于程序的版本信息,然后退出
parse.add_argument('--version',action = 'version',version = '%(prog)s2.0')
nargs:参数的数量
值可以为整数,*(任意多个),+(一个或更多)
首先从命令行获取参数,若没有则从const获得,然后从default获得
dest:参数值就保存为parse_args()返回的命名空间对象中为该dest参数值的一个属性。如果提供dest="a",那么可以通过args.a访问该参数
default:设置参数的默认值
type:把从命令行输入的结果转成设置的类型
choice:允许的参数值
requires:是否必选
desk:可作为参数名
help:参数命令的介绍
参数的几种写法:

python py.py -i 1  # 使用空格分开
python py.py --integer=1  # 长选项使用等号分开
python py.py -i1  # 短选项可以写一起

4.1 解析参数

args = parser.parse_args()  # 括号里面可以传入命令行的参数
args_ = parser.parse_args("-i=1".split("="))

posted on 2022-08-25 22:54  SOC验证工程师  阅读(81)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3