python argparse.ArgumentParser
时间: 2023-11-02 14:03:56 浏览: 49
Python中的argparse.ArgumentParser是一个用于解析命令行参数的工具。它可以帮助我们定义和解析我们的命令行参数,并为参数提供默认值和帮助信息。
在使用argparse.ArgumentParser之前,我们需要导入argparse模块,并创建一个ArgumentParser对象。然后,我们可以使用add_argument()方法添加我们需要的参数。
参数可以分为可选参数(optional arguments)和必选参数(positional arguments)。可选参数使用"-参数名"的形式传递,而必选参数直接在命令行中传递。
在创建参数时,我们可以指定参数的类型、默认值和帮助信息。类型可以是int、float、str等等。默认值是当我们不传递这个参数时的默认值。帮助信息是在使用-h或--help参数时显示的帮助文本。
在解析参数之前,我们需要调用parse_args()方法对参数进行解析。解析完成后,我们可以通过参数对象的属性来获取参数的值。
对于action='store_true',它表示参数是一个开关,当在命令行中传递该参数时,该参数的值为True,否则为False。
下面是一个例子:
```python
import argparse
# 创建ArgumentParser对象
parser = argparse.ArgumentParser()
# 添加可选参数和必选参数
parser.add_argument('--test', action='store_true', default=False, help='Test module.')
parser.add_argument('--batch_size', type=int, default=32, help='Total batch size.')
parser.add_argument('--epochs', type=int, default=100, help='Num of epochs to train.')
# 解析参数
args = parser.parse_args()
# 输出参数的值
print(args.test)
print(args.batch_size)
print(args.epochs)
```
命令行传参的示例:
```python
python test.py --batch_size 64
print(args.test) # False
print(args.batch_size) # 64
print(args.epochs) # 100
python test.py --test --epochs 50
print(args.test) # True
print(args.batch_size) # 32
print(args.epochs) # 50
```
请问还有其他问题吗?