使用argparse模块来处理多个标志和参数非常简单。下面是一个示例代码:
import argparse
# 创建ArgumentParser对象
parser = argparse.ArgumentParser()
# 添加标志(可选参数)
parser.add_argument("-v", "--verbose", help="增加详细输出", action="store_true")
parser.add_argument("-f", "--file", help="输入文件名")
# 添加参数
parser.add_argument("name", help="姓名")
parser.add_argument("age", type=int, help="年龄")
# 解析命令行参数
args = parser.parse_args()
# 使用解析得到的参数
print("姓名:", args.name)
print("年龄:", args.age)
if args.verbose:
print("详细输出已开启")
if args.file:
print("输入文件名:", args.file)
在这个示例中,我们创建了一个ArgumentParser对象,并添加了两个标志(-v和-f)和两个参数(name和age)。标志是可选的,而参数是必需的。我们还指定了标志的简写形式和全写形式,以及参数的类型。
然后,我们使用parse_args()方法解析命令行参数,并将解析结果存储在args对象中。最后,我们根据需要使用args对象中的参数和标志进行相应的操作。
例如,如果我们运行这个脚本时使用了-v标志,那么输出中会包含"详细输出已开启"的信息。如果我们指定了文件名(使用-f标志),那么输出中会包含"输入文件名:"和指定的文件名。