您的位置:首页 > 编程语言 > Python开发

python argparse用法总结

2017-08-17 12:05 417 查看
转载自: 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


更具体内容请参考转载博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: