python-argparse用法简介

1. argparse介绍

argparse是Python标准库中用于解析命令行参数的模块。它提供了一种简洁而灵活的方式来处理命令行参数,包括选项(可选参数)和位置参数(必需参数)

2. argparse基本使用

点击查看代码
import argparse


# 1. 创建ArgumentParser对象,在创建ArgumentParser对象时,可以传入一个可选的description参数,用于描述你的程序的功能和用法。
parser = argparse.ArgumentParser(description='Description of your program')

# 2. 添加命令行参数
# 2.1 添加位置参数
# 位置参数指的是位置参数是指在命令行中没有使用选项标志(如-或--)的参数,它们根据在解析器中定义的顺序进行解析。所以位置参数在传入时要根据定义顺序传入
parser.add_argument('name', help="Name of the person")
# 2.2 添加可选参数
# 以下-g和--greeting的关系:
# -g: 短选项。使用方式示例:-g "Hello" 或 -gHello
# -greeting: 长选项。似乎用方式示例:--greeting "Hello" 或 --greeting=Hello

# -g和--greeting两种方式可以同时存在,也可以只选其一。
parser.add_argument('-g', '--greeting', help='Greeting message')

# 3. 解析命令行参数
args = parser.parse_args()  # parse_args()方法会解析命令行参数,并返回一个包含解析结果的命名空间对象

# 4. 使用解析结果
# 可以通过访问命名空间对象的属性来获取解析后的参数值。
print(args.name)
print(args.greeting)
print(args.g)

3. 子命令解析器

点击查看代码示例
import argparse

# 创建解析器对象
parser = argparse.ArgumentParser()

# 创建子命令解析器对象
subparsers = parser.add_subparsers(dest='command')

# 创建子命令 'add' 的解析器
add_parser = subparsers.add_parser('add')
add_parser.add_argument('numbers', type=int, nargs='+', help='numbers to add')

# 创建子命令 'multiply' 的解析器
multiply_parser = subparsers.add_parser('multiply')
multiply_parser.add_argument('numbers', type=int, nargs='+', help='numbers to multiply')

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

# 根据命令调用相应的处理函数
if args.command == 'add':
    result = sum(args.numbers)
    print(f'Sum: {result}')
elif args.command == 'multiply':
    result = 1
    for num in args.numbers:
        result *= num
    print(f'Product: {result}')
点击查看示例运行结果
$ python argparse_for_subparser.py  add 2 3 4
Sum: 9

$ python argparse_for_subparser.py multiply  2 3 4
Product: 24
posted @ 2024-05-30 20:43  berlin-fly  阅读(63)  评论(0编辑  收藏  举报