Python中argparse模块的使用

argparse模块

argparse 模块的作用:直接使用命令行与python进行交互, 是用来处理命令行参数的库。(不需要安装,直接调用 )

argparse 使用简化成四个步骤:

1:import argparse
2:parser = argparse.ArgumentParser()
3:parser.add_argument()
4:args=parser.parse_args()

上面四个步骤解释如下:首先导入该模块;然后创建一个解析对象;然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项;最后调用parse_args()方法进行解析;解析成功之后即可使用。

实例:

import argparse

parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#type是要传入的参数的数据类型  help是该参数的提示信息
parser.add_argument('integers', type=str, help='传入的数字')

args = parser.parse_args()

#获得传入的参数
print(args)

在这个代码中,我们在命令行传入一个数字。

然后再命令行中输入python demo.py -h或者python demo.py --help:

python demo.py -h 

在命令行中看到demo.py的运行结果如下:

usage: demo.py [-h] integers

命令行中传入数字

positional arguments:
  integers    传入的数字

optional arguments:
  -h, --help  show this help message and exit

现在我们在命令行中给demo.py 传入一个参数10:

python demo.py 10

运行,得到的运行结果是:

Namespace(integers='10')

操作args字典

其实得到的这个结果Namespace(integers=‘5’)是一种类似于python字典的数据类型。

我们可以使用 arg.参数名来提取这个参数:

import argparse

parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#type是要传入的参数的数据类型  help是该参数的提示信息
parser.add_argument('integers', type=str, help='传入的数字')

args = parser.parse_args()

#获得integers参数
print(args.integers)

在命令行中运行python demo.py 10, 运行结果为:

10

传入多个参数

现在在命令行中给demo.py 传入多个参数,例如传入3,5,7,9四个数字:

python demo.py 3,5,7,9

运行报错:

usage: demo.py [-h] integers 
demo.py: error: unrecognized arguments: 5,7,9

不能识别5,7,9,看源代码我们知道integers这个参数是位置参数,说明第一个数3是能识别。这里我们需要重新更改demo.py代码:

import argparse

parser = argparse.ArgumentParser(description='命令行中传入一个数字')
parser.add_argument('integers', <
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值