argsparse命令行解析模块介绍

本文介绍了如何使用Python的argparse模块在命令行中接收参数,包括单个、多个参数的处理,可选参数、默认值和必要参数的设置,以及动作参数的使用。通过实例演示了如何创建ArgumentParser对象并解析命令行参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

argsparse是python的命令行解析的标准模块,内置于python

这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行。

条件

命令行执行时cd到python文件地址

cd E:/..........

主要步骤

  • 创建 ArgumentParser() 对象

  • 调用 add_argument() 方法添加参数

  • 使用 parse_args() 解析添加的参数

传入一个参数

import argparse

#description为命令行描述文字
parser = argparse.ArgumentParser(description='命令行中传入一个数字')

#type是要传入的参数的数据类型  help是该参数的提示信息
parser.add_argument('integers', type=str, help='传入的数字')

args = parser.parse_args()

#获得integers参数
print(args.integers)

查看命令需要输入形式:(h或help)

python demo.py -h

命令行幅值运行:

python demo.py 5 #integer内容为5

传入多个参数

nargs是用来说明传入的参数个数

  • nargs=’*’  表示参数可设置零个或多个
  • nargs=’+’ 表示参数可设置一个或多个
  • nargs=’?’ 表示参数可设置零个或一个
parser.add_argument('integers', type=str, nargs='+',help='传入的数字')

输入:

python demo.py 1 2 3 4

位置参数

在命令行中传入参数时候,传入的参数的先后顺序不同,运行结果往往会不同

parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('param1', type=str,help='姓')
parser.add_argument('param2', type=str,help='名')
args = parser.parse_args()

可选参数

如果容易忘了顺序,可以使用可选参数,在关键词前面加--

parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str,help='姓')
parser.add_argument('--name', type=str,help='名')
args = parser.parse_args()

输入:

python demo.py --family=张 --name=三

默认值

default参数对某个参数设置默认值,如果命令行中没有传入该参数的值,程序使用默认值。

parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str, default='张',help='姓')
parser.add_argument('--name', type=str, default='三', help='名')
args = parser.parse_args()

必要参数

required参数可以设置该参数是否必需

parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str, help='姓')
parser.add_argument('--name', type=str, required=True, default='', help='名')
args = parser.parse_args()

动作参数

action - 命令行遇到参数时的动作,默认值是 store。

  • store_const,表示赋值为const;
  • append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
  • append_const,将参数规范中定义的一个值保存到一个列表
  • count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值