📅  最后修改于: 2023-12-03 14:46:33.031000             🧑  作者: Mango
cmdparse
模块是 Python 中用于解析命令行参数的标准库。
cmdparse
可以将命令行参数解析成参数和值的字典以供程序使用。它不需要程序员编写专门的解析代码,可以处理缺省值、类型转换和多个参数等等。
cmdparse
属于 Python 的标准库,无需安装,可以直接使用。只需要进行导入即可:
import argparse
使用 argparse
解析命令行参数的基本步骤如下:
ArgumentParser
对象,它将负责解析命令行参数。parser = argparse.ArgumentParser()
add_argument()
方法定义需要解析的参数。此方法支持多个参数,可以使用短标志以及长标志。还可以指定参数的默认值、类型、描述等等。parser.add_argument('-n', '--name', default='World', type=str, help='the name to greet')
parse_args()
方法,该方法将解析命令行参数并返回一个包含参数和值的字典。args = parser.parse_args()
以下示例演示了如何使用 argparse
解析命令行参数:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--name', default='World', type=str, help='the name to greet')
args = parser.parse_args()
print(f'Hello, {args.name}!')
运行该示例程序,可以通过以下命令行参数修改打印的名称:
python greet.py --name Alice
add_argument()
方法还支持传入多个参数名。以下示例演示了如何处理多个参数:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-v', '--verbose', action='store_true', help='enable verbose mode')
parser.add_argument('-n', '--name', nargs='+', help='a list of names')
args = parser.parse_args()
if args.verbose:
print(f'Hello, {", ".join(args.name)}!')
else:
print(f'Hello, {args.name[0]}!')
运行该示例程序,可以通过以下命令行参数启用详细模式:
python greet.py --verbose --name Alice Bob