下面是一个使用argparse模块解析命令行参数的示例,其中包括位置参数和可选参数之间的交互:
import argparse
# 创建解析器对象
parser = argparse.ArgumentParser()
# 添加位置参数
parser.add_argument("input_file", help="输入文件")
# 添加可选参数
parser.add_argument("-o", "--output_file", help="输出文件")
# 添加一个互斥的可选参数组
group = parser.add_mutually_exclusive_group()
group.add_argument("-v", "--verbose", action="store_true", help="详细输出")
group.add_argument("-q", "--quiet", action="store_true", help="静默输出")
# 解析命令行参数
args = parser.parse_args()
# 使用解析的参数进行操作
print("输入文件:", args.input_file)
print("输出文件:", args.output_file)
if args.verbose:
print("详细输出已启用")
elif args.quiet:
print("静默输出已启用")
在上面的示例中,我们定义了一个位置参数input_file
,它是必需的,以及一个可选参数output_file
。我们还添加了一个互斥的可选参数组,其中包含-v
和-q
选项,用户只能选择其中一个。当用户执行命令时,可以按照以下方式提供参数:
python script.py input.txt -o output.txt -v
上述命令将解析input.txt
作为位置参数,并将output.txt
作为可选参数-o
的值。此外,由于-v
选项提供了,因此args.verbose
将为True
,输出将包含一条详细输出的消息。
注意:上述示例中的参数名称和选项可以根据需要进行更改。