python argparse库的基本使用

官方文档:

https://docs.python.org/zh-cn/3.7/library/argparse.html

https://docs.python.org/zh-cn/3.7/howto/argparse.html

argparse是python推荐的命令行解析模块,在命令行中运行某个python脚本时可以在后面添加参数,然后在python脚本里面通过该模块去接收解析参数,同时也可以限制参数类型。 ps: sys.argv 也可以接收参数

基本案例:

import argparse

# 创建解析对象, description是对其描述
parser = argparse.ArgumentParser(description="测试使用 argparse 库")

# 向parser对象添加你要关注的命令行参数和选项, 这里的两个参数,一个为长参数:--parm1,一个为短参数:-p1
parser.add_argument("--param1", "-p1", type=str)

# 对命令行参数进行解析
args = parser.parse_args()
print(args)

# 输出具体的参数值
print(args.param1)

如果你有多个参数需要通过命令行传给python脚本,则可以多添加几个 add_argument,案例如下

import argparse

# 创建解析对象, description是对其描述
parser = argparse.ArgumentParser(description="测试使用 argparse 库")

# 向parser对象添加你要关注的命令行参数和选项, 这里的两个参数,一个为长参数:--parm1,一个为短参数:-p1
parser.add_argument("--param1", "-p1", type=str)
parser.add_argument("--param2", "-p2", type=int, help="参数2需要输入0~20整数", choices=range(21))
# 参数值为int型,传入多个值时,返回的是一个列表
parser.add_argument("--param3", "-p3", type=int, nargs="+", help="list类型,可以接收1~n个值")
# 对命令行参数进行解析
args = parser.parse_args()
print(args)

# 输出具体的参数值
print(args.param1,"\n", args.param2,"\n", args.param3)

add_argument的部分参数介绍如下:

type: 指定类型
required: 参数是否必填,如果为True则必须要传入对应的值
help: python test.py -h 会出现对应help的内容
nargs:  指定这个参数后面的值有多少个,默认为1, 也可以写正则的符号:+ , * , 数字
choices:  设置参数的范围

上面案例的运行结果如下

这里,可以通过 --param1 来指定参数1, 也可以使用短参 -p1来指定参数1

上面案例,我在 --param3 后面写了多个值,因为我在add_argument中添加了参数 nargs ,可以匹配1到多个参数,返回的是个列表

如果参数不满足条件的话会提示报错,如下图所示:

如果要看帮助信息的话,直接输入 -h 或者 --help

暂时就这样吧。。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值