参数解析器

在运行python程序的时候,往往需要在命令之后传入参数

依赖导入

import argparse

实例化参数解析器

parser = argparse.ArgumentParser()

常用参数

  • description:帮助文档描述(头部)
  • epilog:帮助文档描述(尾部)
  • add_help:添加-h / --help选项来显示帮助文档,默认值为True

添加参数设置

添加一个-v--version来传入参数

parser.add_argument('-v', '--version')

常用参数

  • type:命令行参数被转换成的类型,如strintfloat

  • default:默认值设置

  • help:对于此参数的描述会被打印至帮助文档中

  • action:指定该参数的动作

    • # 携带 -v 时该值设置为True, 默认为False
      parser.add_argument('-v', action='store_true')
      
      # 与上述相反
      parser.add_argument('-v', action='store_false')
      
  • required:表示参数是否必须传入,默认值为False

解析获取的参数

args = parser.parse_args()

示例

import argparse

paras = argparse.ArgumentParser(description='Test', epilog='By Abel')
paras.add_argument('--input_path', default='./input', type=str, help='输入路径')
paras.add_argument('--output_path', default='./output', type=str, help='输出路径')

args = paras.parse_args()
print('input path:', args.input_path)
print('output path:', args.output_path)


# 输出
> python test.py -h
usage: test.py [-h] [--input_path INPUT_PATH] [--output_path OUTPUT_PATH]

Test

options:
  -h, --help            show this help message and exit
  --input_path INPUT_PATH
                        输入路径
  --output_path OUTPUT_PATH
                        输出路径

By Abel
> python test.py
input path: ./input
output path: ./output