argparse模块的基本用法

argparse简介

argparse是一个用来解析命令行参数的 Python 库。通过该模块可以使用户便捷地在命令行运行程序的同时传入简单的参数。
为了使用户体验更加友好,argparse还提供了帮助信息,通过-h--help可以显示该程序的描述信息、每个参数的名称以及帮助信息等等。
此外,当用户为程序提供了无效参数时,该模块还会自动生成帮助和使用情况消息并发出错误。


例子

以下代码是一个Python程序test.py,采用argparse从命令行获取。

import argparse


def main():
    parser = argparse.ArgumentParser(description="This is a demo of how to use argparse.")
    parser.add_argument('--name', type=str, default='Tom', help='name of the character.')
    parser.add_argument('--age', type=int, default=20, help="How old is he/she?")
    parser.add_argument('--location', type=str, default='China', help='Where is he/she come from?')
    args = parser.parse_args()

    name = args.name
    age = args.age
    location = args.location


    print("Hello,my name is {}, I'm {} year's old, I come from {}.".format(name, age, location))



if __name__ == '__main__':
    main()

在终端分别执行命令python test.pypython test.py --name Sam --age 25 --location France,可以看到:
在这里插入图片描述
其中,第一次执行不带任何可选参数,可见,传入的是每一个可选参数的default值。第二次执行分别填写了可选参数。



代码分析

1 创建参数解析器

首先,导入argparse模块,创建一个ArgumentParser对象parser。其中的description关键字处可以写一些简要的描述信息,当在命令行显示帮助信息的时候即可看到。

parser = argparse.ArgumentParser(description="This is a demo of how to use argparse.")


2 添加参数

然后,我们使用add_argument()方法来添加运行test.py时的可选参数。
传递给add_argument()方法的第一个参数是该可选参数或位置参数(例如文件名列表)的名称,例如(-name--namename)。
type——是该参数的类型。
default——是该可选参数的默认值。
help——对这个可选参数的帮助信息,当用户输入python test.py -h时就可查看到。

parser.add_argument('--name', type=str, default='Tom', help='name of the character.')

此外,常用的其他关键字还有:
action——用于接收True/False类型的参数,向add_argument()方法中加入参数action=store_true/store_false。添加一行带action关键字的add_augment方法并打印出来:

parser.add_argument('--saved', action='store_true')

在这里插入图片描述
action的值为store_true,意味着当用户传入该参数result_saved时,就将其值标为True;如果没有传入该参数,则默认状态下其值为False。反之亦然。


3 解析参数

最后,ArgumentParser通过parse_args()方法解析参数 。这将检查命令行,并将每个参数转换为适当的类型,然后调用适当的操作。


4 -h帮助

在命令行执行python test.py -h时,即可查看帮助信息,包括在ArgumentParser()方法的description处填的描述信息、每一个可选参数的帮助信息等。
在这里插入图片描述


参考链接

[1] https://blog.csdn.net/yy_diego/article/details/82851661.
[2] https://docs.python.org/3/library/argparse.html.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值