python argparse用法总结

本文介绍了Python标准库中的argparse模块,这是一个用于命令行选项、参数和子命令解析的强大工具。文章详细解释了如何定义和使用位置参数及可选参数,并通过示例展示了如何设置参数类型、默认值以及限定参数的选择范围。

转载自: http://www.jianshu.com/p/fef2d215b91d

argparse介绍

是python的一个命令行解析包,非常编写可读性非常好的程序

参数分类
  • positional arguments

    positional arguments为英文定义,中文名叫有翻译为定位参数的,用法是不用带-就可用

  • optional arguments

    中文名叫可选参数,有两种方式:

    一种是通过一个-来指定的短参数,如-h;
    一种是通过–来指定的长参数,如–help
    这两种方式可以同存,也可以只存在一个

参数限制
  • 类型 type

    默认的参数类型为str,如果要进行数学计算,需要对参数进行解析后进行类型转换,如果不能转换则需要报错,这样比较麻烦. argparse提供了对参数类型的解析,如果类型不符合,则直接报错。

  • 可选值choices=[]

    要限定某个值的取值范围,比如整形,限定其取值范围为0, 1, 2,该如何进行呢?使用 choise.

  • 参数默认值default=?

    参数默认值该如何定义呢?使用default

示例一:

#!/usr/bin/env python
# encoding: utf-8


import argparse


parser = argparse.ArgumentParser(description="calculate X to the power of Y")
parser.add_argument("square", type=int,
                    help="display a square of a given number")
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], default=1,
                    help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbosity == 2:
    print "the square of {} equals {}".format(args.square, answer)
elif args.verbosity == 1:
    print "{}^2 == {}".format(args.square, answer)
else:
    print answer

更具体内容请参考转载博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值