使用Python的parse()函数解析命令行参数的常用技巧
发布时间:2023-12-25 01:08:26
Python中的argparse模块提供了一个简便的方式来解析命令行参数。argparse.ArgumentParser类用于创建一个命令行解析器对象,可以定义程序需要的参数,并提供了许多选项来定制参数的行为。下面是一些常用的技巧和使用示例。
1. 创建解析器对象:
import argparse parser = argparse.ArgumentParser(description='命令行解析器')
可以通过description参数来为解析器添加一个描述信息。
2. 添加位置参数:
parser.add_argument('arg1', help='位置参数1的帮助信息')
parser.add_argument('arg2', type=int, help='位置参数2的帮助信息')
add_argument方法用于添加位置参数。help参数用于为参数添加帮助信息。
3. 添加可选参数:
parser.add_argument('-a', '--arg3', help='可选参数3的帮助信息')
parser.add_argument('-b', '--arg4', type=float, help='可选参数4的帮助信息')
-a和--arg3是可选参数的名称,-b和--arg4是可选参数的别名。
4. 指定参数类型:
parser.add_argument('arg5', type=str, choices=['choice1', 'choice2'], help='带有限定选项的参数')
choices参数用于限定参数的可选值。
5. 添加互斥的参数组:
group = parser.add_mutually_exclusive_group()
group.add_argument('--arg6', action='store_true', help='互斥参数6')
group.add_argument('--arg7', action='store_false', help='互斥参数7')
add_mutually_exclusive_group方法用于创建一个互斥参数组,该组中的参数只能选择一个。
6. 添加参数默认值:
parser.add_argument('--arg8', default='default', help='参数8的默认值为default')
default参数用于指定参数的默认值。
7. 解析命令行参数:
args = parser.parse_args()
parse_args方法用于解析命令行参数,并返回一个命名空间对象。
8. 使用解析后的参数:
print(args.arg1) print(args.arg2) print(args.arg3) ...
解析后的参数可以通过命名空间对象的属性来访问。
下面是一个完整的示例,该示例演示了如何使用argparse模块来解析命令行参数:
import argparse
parser = argparse.ArgumentParser(description='计算两个数的和')
parser.add_argument('num1', type=int, help=' 个数')
parser.add_argument('num2', type=int, help='第二个数')
parser.add_argument('--verbose', action='store_true', help='输出详细信息')
args = parser.parse_args()
if args.verbose:
print('计算{}和{}的和'.format(args.num1, args.num2))
result = args.num1 + args.num2
print('结果:', result)
在命令行运行该程序时,可以传入两个数字作为位置参数,并可以用--verbose选项来打印详细信息。例如:
$ python calc.py 10 20 --verbose 计算10和20的和 结果: 30
以上是使用argparse模块解析命令行参数的一些常见技巧和使用示例。根据实际需求,可以通过更多选项来定制参数的行为。
