python支持选项参数argparse(3.7)

python支持选项参数argparse

ArgumentParser参数
Keyword Arguments:
    - prog -- The name of the program (default: sys.argv[0])
    - usage -- A usage message (default: auto-generated from arguments)
    - description -- A description of what the program does
    - epilog -- Text following the argument descriptions
    - parents -- Parsers whose arguments should be copied into this one
    - formatter_class -- HelpFormatter class for printing help messages
    - prefix_chars -- Characters that prefix optional arguments
    - fromfile_prefix_chars -- Characters that prefix files containing
        additional arguments
    - argument_default -- The default value for all arguments
    - conflict_handler -- String indicating how to handle conflicts
    - add_help -- Add a -h/-help option
    - allow_abbrev -- Allow long options to be abbreviated unambiguously
# argparse.ArgumentParser __init__ 方法的默认值
prog=None,
usage=None, # 自定义使用方法, 默认会根据 add_argument 生成, 不建议修改
description=None, # 在 help 中添加描述性文字, add_help=Ture 时才生效
epilog=None,
parents=[],
formatter_class=HelpFormatter, # 帮助(-h/--help)文档格式
prefix_chars='-',
fromfile_prefix_chars=None,
argument_default=None,
conflict_handler='error',
add_help=True, # 自动生成 -h/--help 选项,建议保持默认 
allow_abbrev=True

代码示例
import argparse
import sys


def func1(arg):
    """
    接收处理 -p 选项参数
    :param arg:
    :return:
    """
    print("选项-p,参数是:%s" % arg)


def func2(arg):
    """
    接收处理 -c 选项参数
    :param arg:
    :return:
    """
    print("选项-c,参数:%s" % arg)


def func3(arg):
    """
    接收处理 -n 选项参数
    :param arg:
    :return:
    """
    print("选项-n,参数是:%d" % arg)


def func4(arg):
    """
    接收处理 -a 选项参数
    :param arg:
    :return:
    """
    print("选项-a,参数是:%s" % arg)


def main():
    des = "这是一段描述文字,在创建实例时被调用"
    parser = argparse.ArgumentParser(sys.argv[0], description=des)
    # parser = argparse.ArgumentParser(sys.argv[0], description=des, usage="使用说明")
    # parser = argparse.ArgumentParser(sys.argv[0])
    parser.add_argument('-p', '--prefix', required=False, default='prefix test', help="测试设置前缀")
    parser.add_argument('-c', '--conf', required=True, default='', help="测试设置配置文件")
    parser.add_argument('-n', '--num', required=True, default=10, type=int, help="测试设置接收数据类型")
    parser.add_argument('-a', '--action', required=True, dest='arg_a', help="测试设置接收变量名")
    parser.add_argument('-z', '--zero', required=False, default=0)
    """
    添加选项说明:
        required 选项参数是否必须
        default 默认值
        help 在 -h/--help 中选项的描述
        type 指定参数类型, 默认 str
        dest 接收参数的变量名, 不定义时, 两种情况讨论:
            已定义长选项, 变量名只能是长选项名称
            未定义长选项, 变量名是短选项
    """
    ar = parser.parse_args()
    func1(ar.prefix)
    func2(ar.conf)
    func3(ar.num)
    func4(ar.arg_a)
    print(ar.zero)


if __name__ == '__main__':
    main()

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值