Python中的Argparse模块

argparse模块

作用: argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。
使用步骤

  1. import argparse 导入模块
  2. parser = argparse.ArgumentParser() 创建一个解析对象
  3. parser.add_argument() 向该对象中添加需要关注的命令行参数和选项
  4. parser.parse_args() 进行解析

一个例子了解argparse用法

import argparse

parser = argparse.ArgumentParser(description="calculate the square of a given number")
# 定位参数:参数名称,参数类型(参数默认是str,输入非str时需要指定参数类型),参数帮助信息
parser.add_argument("number", type=int, help="input a number to calculate it's square")
# 可选参数:参数的简写,参数全称,参数类型,参数的可选值,参数帮助信息  
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1],  help="increase output verbosity")  
args = parser.parse_args()

if args.verbosity == 0:
    print("verbosity = 0 ")
elif args.verbosity == 1:
    print("verbosity = 1 ")
    print("the square of %d is %d" % (args.square, args.square ** 2))
else:
    print("verbosity = None")

命令行输入 python parser_test.py,会提示使用的方法:在parser_test.py可选择性输入-h,可选择性输入-v(但-v的取值只能是0和1,必须输入number。

python parser_test.py
usage: parser_test.py [-h] [-v {0,1}] number
parser_test.py: error: the following arguments are required: number

使用 -h 来查看帮助(-h是自带的可选择参数)

python parser_test.py -h
usage: parser_test.py [-h] [-v {0,1}] number
calculate the square of a given number
positional arguments:
  number   input a number to calculate it’s square
optional arguments:
  -h, --help   show this help message and exit
  -v {0,1}, --verbosity {0,1}   increase output verbosity

输入参数number,定位参数只需要根据参数声明时候的顺序输入即可

python parser_test.py 2
verbosity = None

输入参数verbosity,可选参数必须指明是哪个可选参数,用缩写或非缩写都可以

python parser_test.py 2 0
usage: parser_test.py [-h] [-v {0,1}] number
parser_test.py: error: unrecognized arguments: 0

python parser_test.py 2 -v 0
verbosity = 1
the square of 2 is 4

更多参数介绍查看:Python 命令行工具 argparse 模块使用详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值