argparser Python包使用

本文介绍了Python的argparser包的使用,包括如何定义布尔值、传入整数和浮点数。通过示例展示了argparser如何处理命令行参数,如设置默认值、错误处理等。

argparser Python包使用

导入

import argparse

定义parser对象(参数为介绍)

parser = argparse.ArgumentParser('test parser')

定义argument

传入字符串

首先我们看最简单的传入string的情况

parser.add_argument('-o', metavar='STRING', help='input string')

第一个参数是用于表示其后面的那个字符串是所要输入的字符串的命令形式,metavar是在提示或报错里面用于指代传入值的,help是你传入-h时的提示

比如

python ./test.py -o hello

传入的就是hello,同时,“-o”中o也用于索引,我们用

args = parser.parse_arg()

获得参数之后,就用args.o来取出这个传入的string

print(args.o)

可以输出

hello

然后我们来测试一下

import argparse

parser = argparse.ArgumentParser('test parse
Python 的 `argparse` 库是一种用于编写用户友好的命令行接口的标准模块。它能够自动生成帮助和使用消息,并发出错误信息,当用户提供无效的参数时。 ### 创建解析器 首先需要创建一个 `ArgumentParser` 对象,这个对象将含将命令行解析为Python数据类型所需的所有信息。 ```python import argparse parser = argparse.ArgumentParser(description='Process some integers.') ``` 这里的 `description` 参数是对程序作用的简短描述,这在用户请求帮助时会显示出来[^1]。 ### 添加参数 接着可以使用 `add_argument()` 方法来填充 `ArgumentParser` 对象。这些参数可以是位置参数、可选参数等。 #### 位置参数 位置参数是必需的,并且它们的顺序很重要。 ```python parser.add_argument("square", type=int, help="display a square of a given number") ``` #### 可选参数 可选参数不是必须的,通常用来改变程序的行为。 ```python parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], help="increase output verbosity") ``` 在这个例子中 `-v` 或者 `--verbosity` 是可选的,并且接受一个整数值,该值只能是0、1或2之一[^2]。 ### 解析参数 一旦所有的参数都被定义好了,就可以调用 `parse_args()` 方法来解析命令行参数。这个方法会返回一个 `Namespace` 对象,其中含了所有添加的参数及其对应的值。 ```python args = parser.parse_args() print(args.square**2) if args.verbosity == 2: print("the square of {} is {}".format(args.square, args.square**2)) elif args.verbosity == 1: print("{}^2 == {}".format(args.square, args.square**2)) else: print(args.square**2) ``` 上面的代码演示了如何访问通过命令行传递的参数值,并根据不同的参数值执行不同的逻辑[^2]。 ### 混合使用参数 如前所述,可以在一次调用中混合使用不同类型的参数: ```bash python script.py 5 -v 1 ``` 这里 `5` 是位置参数,而 `-v 1` 是一个带有值的可选参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值