python解析命令行参数
时间: 2023-09-23 19:02:25 浏览: 77
在 Python 中,可以使用 argparse 模块来解析命令行参数。以下是一个简单的示例:
```python
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')
args = parser.parse_args()
print(args.accumulate(args.integers))
```
这个示例程序可以接受一个或多个整数作为参数,并且可以使用 --sum 选项来指定是求和还是求最大值。例如:
```
$ python argparse_example.py 1 2 3 4
4
$ python argparse_example.py 1 2 3 4 --sum
10
```
在这个示例中,我们首先创建了一个 ArgumentParser 对象,并且指定了程序的描述信息。然后,我们使用 add_argument() 方法来定义可接受的参数。其中,'integers' 是参数的名称,metavar='N' 指定了参数的元变量名为 N,type=int 表示参数应该被解析成整数类型,nargs='+' 表示参数可以接受一个或多个值,help 参数是一个帮助字符串,用于描述参数的作用。
接下来,我们使用 add_argument() 方法来定义一个可选的 --sum 选项。其中,dest='accumulate' 指定了选项的目标属性名为 accumulate,action='store_const' 表示如果选项被指定了,那么 accumulate 属性将被赋值为 const 参数指定的值,否则将被赋值为 default 参数指定的值。在这个示例中,const=sum 表示如果 --sum 选项被指定了,那么 accumulate 属性将被赋值为 sum 函数,否则将被赋值为 max 函数。help 参数用于描述选项的作用。
最后,我们使用 parse_args() 方法来解析命令行参数,并且将结果存储在 args 对象中。然后,我们根据 accumulate 属性的值来计算输入的整数的和或最大值,并将结果打印出来。
阅读全文