argparse读取参数

  • 用法
  • argparseExample.py简单示例
  • 参考

用法

  • argparse是内置于python中,所以即为直接在命令行中对程序传入参数并让程序运行的便捷工具。
  • 具体步骤如下所示
    1. 导包,为import argparse
    2. 创建一个ArugmentParser对象,随后一切都在这个对象里面操作,为parser = argparse.ArgumentParser()
    3. 加入一些参数,具体方法为parser.add_argument()
    4. 解析参数,为args = parser.parse_args()
  • -h,帮助操作,一般用显示帮助信息,如在加入参数的时候一些定义以及显示
  • 传入参数方法,为parser.add_argument('--integers', type=str, help='传入的数字', default='1', required=True, nargs='+')
    1. –integers, 分为可选参数–和普通参数,可选参数的意义在于保持了代码的逻辑性,可以自定义输入参数顺序,而且在调用的时候只需要args.integers即可【以上述代码为例,省略–即为实际参数】
    2. type,指定参数类型,可以为int,str,float,list,dict等类型,传入为bool类型的时候,需要注意是因为无论传入什么数值都会是True,所以需要用dest和action处理
    3. help,为在输入-h参数的时候,显示的信息,一般用于说明介绍参数
    4. default,即为设置默认参数,一般与type类型一直
    5. required为必须参数,required=True即为输入进入命令行的时候必须带入该参数
    6. nargs为设置该参数下的个数,如果为2-n个参数,需要设置如下操作
      1. '*'为接受0-n个参数
      2. '?'为参数可以设置0-1个
      3. "+"可以设置为1-n个
      4. 【具体跟正则表达式匹配类似】
    7. dest,这里是可以设置为你所需要放置的参数如para1变量,即为最后在args类中的namespace中会赋值给para1,一般配合与action参数一起使用
    8. action,一般为设置为布尔类型,即为store_true和store_false,分别为赋值为真和假

argparseExample.py简单示例

  • #!/usr/bin/env python
    # -- coding: utf-8 --
    # @Time : 2024/1/13 16:08
    # @Author : Lucas
    # @File : argparseExample.py
    import argparse
    parser = argparse.ArgumentParser(description='命令行输入参数随后遍历出来')
    #type是要传入的参数的数据类型  help是该参数的提示信息
    parser.add_argument('--parameterOne', type=int, nargs='+', help='参数1', default=1)
    parser.add_argument('--parameterTwo', type=int, nargs='+', help='参数2', default=2)
    parser.add_argument('--parameterThree', type=int, nargs='?', help='参数2', default=3, required=True)
    args = parser.parse_args()
    # 默认为真,即为最后namespace最终出现为args.flag变量,而且默认如果出现为赋值为假,默认为真
    parser.add_argument('--is_flag', dest='flag', action='store_false', default=True)
    # 获得传入的参数
    print(args)
    # 计算结果
    print(args.parameterThree + args.parameterTwo + args.parameterOne)
    
  • 在命令行中输入python argparseExample.py --parameterThree 1即可

实操

  • 具体的代码放置在GitHub上,具体链接为argparseExample.py【为超链接形式】。此外,个人博客里面也有一些有关于计算机相关的知识和内容,具体链接为https://github.com/LucasandElliot/note

参考

  • python中parse的用法

  • argparse模块用法实例详解

你可能感兴趣的:(python基础知识,linux,数据库,python)