argparse 用法总结

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值