写点什么

python 小知识 - 命令行参数处理之 argparse

作者:AIWeker
  • 2022 年 7 月 24 日
  • 本文字数:1036 字

    阅读完需:约 3 分钟

python小知识-命令行参数处理之argparse

argparse 提供了灵活的命令行参数处理,在日常功能开发中有着重要作用。


这里介绍下 argparse 的基本常用功能。我们先来看下一个相对完整的例子。


## file is demo_argparse.pyimport argparseparser = argparse.ArgumentParser(description='Demo of argparse')
parser.add_argument("--param_int", type=int, default=1, required=True, help="display a square of a given number")parser.add_argument("-c", "--check", dest="skip", action="store_true", help="check")
parser.add_argument("--params", type=str, default='happy', choices = ['happy','sad'], help="params")
args = parser.parse_args()print(vars(args))
print(args.params, args.skip)
复制代码


调用情况:


python -u demo_argparse.py -h
# usage: demo_argparse.py [-h] --param_int PARAM_INT [-c] [--params {happy,sad}]
# Demo of argparse
# optional arguments:# -h, --help show this help message and exit# --param_int PARAM_INT# display a square of a given number# -c, --check check# --params {happy,sad} params
复制代码


python -u demo_argparse.py  --param_int 10   -c --params sad# {'param_int': 10, 'skip': True, 'params': 'sad'}# sad False
python -u demo_argparse.py --param_int 10 --check --params sad# {'param_int': 10, 'skip': True, 'params': 'sad'}# sad True
复制代码


从上面的例子可以知道:


  • arguments:有两种方式,一种是全称 如--check, 一种是简称 如 -c

  • type:表示类型 如 int,str, 如果不符合类型的输入会报错

  • default:提供了默认值选项,如果你调用时没有调用此参数,该参数值为默认值

  • help:为参数的具体说明,在-h 或者--help 会显式出来


上面是比较常用基本的选项,其他约束项如:


  • required=True 约束调用时必须显式的输入此项目,如果不输入会报错

  • action:特殊的操作, 比较常用就是 action="store_true",就是说只要有该输入项,不必赋值,该输入变量为 True,可以代替是否的输入项

  • dest="skip": 一般第一输入项的字符默认为该输入项为变量名, 可以通过 dest 设定重新的变量名

  • choices: 提供输入的一个选择范围

发布于: 刚刚阅读数: 3
用户头像

AIWeker

关注

公众号:人工智能微客(aiweker) 2019.11.21 加入

人工智能微客(aiweker)长期跟踪和分享人工智能前沿技术、应用、领域知识,不定期的发布相关产品和应用,欢迎关注和转发

评论

发布
暂无评论
python小知识-命令行参数处理之argparse_Python_AIWeker_InfoQ写作社区