argparse 用法总结

本文详细介绍了Python的argparse模块,用于从命令行读取参数。argparse提供了创建帮助和使用文档的能力,支持位置参数、可选参数、类型转换、限定取值范围、互斥参数和默认值等功能,方便在多文件项目中使用。
摘要由CSDN通过智能技术生成

argparse用法总结

作用

  • 在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。

使用流程

  • 首先导入模块:import argparse
  • 创建一个解析对象:parser = argparse.ArgumentParser(description="your script description")
    description参数用于描述脚本用途的信息,可以为空
  • 向该对象中添加你要关注的命令行参数和选项:parser.add_argument()
  • 进行解析:args = parser.parse_args()

应用

  • 创建prog.py,然后在命令行执行 python prog.py ,结果会打印 usage,因为 argparse 会自动生成帮助文档
import argparse
parser = argparse.ArgumentParser(description="argparse test")
args = parser.parse_args()
  • 位置参数 positional arguments,用法是不用带 -,是必须的,不加会报错
import argparse

parser = argparse.ArgumentParser(description="argparse test")
# 位置参数
parser.add_argument("e")
# 解析参数
args = parser.parse_args()
print(args.e)
  • 可选参数 optional arguments 有两种方式:(1)-指定的短参数,例如-h (2)--指定的长参数,例如--help
    这两种方式可以同存,也可以只存在一个
#可选参数
parser.add_argument("-v", "--verbosity")

注意-v后面也必须指定参数,如果不需要指定参数的值,需要设定action="store_true",那么这个参数的值只能是true或者false,而且在后面添加参数会报错
store_true的作用:下面的代码为例,若触发 verbosity,则为 True, 否则为 False:

#可选参数
parser.add_argument("-v", "--verbosity", action="store_true")
  • 类型type: 默认的参数类型为str,如果要进行数学计算,需要在参数进行解析后进行类型转换,如果不能转换则会报错
parser.add_argument("x", type=int, help="输入一个数字")
  • 可选值choices=[ ]
    action的例子中定义了默认值为True和 False的方式,如果要限定某个值的取值范围,比如上个例子中的整型,限定其取值范围为0、1、2
# 此时verbosity的值只能是[0,1,2]中的值
parser.add_argument("-v", "--verbosity", type=int, choices=[0,1,2])
  • 互斥参数:
    可以看出,-a和-b不能同时出现,或仅出现一个都可以,同时出现就会报错
#互斥参数
group = parser.add_mutually_exclusive_group()
group.add_argument("-a", action="store_true")
group.add_argument("-b", action="store_true")
  • 参数默认值
parser.add_argument("-v", "--verbosity", type=int, choices=[0,1,2], default=2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值