argparse 是 Python 的一个命令行解析模块,用于解析命令行参数。它提供了一个简单且灵活的方式来处理命令行参数,帮助开发人员构建更强大的命令行界面。
1、创建 ArgumentParser 对象:
import argparse
parser = argparse.ArgumentParser()
2、添加命令行参数:
parser.add_argument('--name', help='enter your name')
这里使用 add_argument
方法来添加一个命令行参数。--name
是参数的名称,help
是参数的帮助信息。
3、解析命令行参数:
args = parser.parse_args()
parse_args()
方法用于解析命令行参数,并返回一个包含参数值的命名空间对象。
4、获取命令行参数的值:
print(args.name)
可以通过访问命名空间对象的属性来获取命令行参数的值。
5、添加位置参数:
parser.add_argument('filename', help='enter the filename')
这里的 filename
是一个位置参数,它不需要使用 --
或 -
前缀,并且必须按照指定的位置顺序提供。
6、设置参数的类型:
parser.add_argument('--count', type=int, help='enter the count')
可以使用 type
参数来指定参数的类型,例如整数、浮点数等。
7、设置参数的默认值:
parser.add_argument('--count', type=int, default=1, help='enter the count')
可以使用 default
参数来设置参数的默认值。
8、添加互斥参数:
group = parser.add_mutually_exclusive_group()
group.add_argument('--verbose', action='store_true')
group.add_argument('--quiet', action='store_true')
使用 add_mutually_exclusive_group()
方法来创建一个互斥参数组,其中 --verbose
和 --quiet
是互斥的选项。
9、添加必选参数:
parser.add_argument('filename', type=str, help='enter the filename', required=True)
使用 required=True
参数将一个位置参数设置为必选参数。
示例代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--s', type=str, default='a')
parser.add_argument('--m', type=int, default=5)
parser.add_argument('--i', type=int, default=5)
args = parser.parse_args()
print(type(args.s), type(args.m), type(args.i))
print(args.s, args.m, args.i)
运行结果:
参考博文:
【Python】Argparse使用指南 - 知乎