python2.7

手册地址:https://docs.python.org/2/howto/argparse.html#id1

实现效果:脚本程序可以带参数

python arg.py -h

一、位置参数

示例代码:

  1. import argparse        
  2. parser = argparse.ArgumentParser()     # 实例化
  3. parser.add_argument("square", help="display a square of a given number",
  4. type=int)   #  名称  help  帮助信息   type  接受参数类型,默认为字符串
  5. args = parser.parse_args()    #接受的参数
  6. print args.square**2

使用

  1. $ python prog.py 4
  2. 16
  3. $ python prog.py four
  4. usage: prog.py [-h] square
  5. prog.py: error: argument square: invalid int value: 'four'

二、可选参数

实例代码

  1. import argparse
  2. parser = argparse.ArgumentParser()
  3. parser.add_argument("-v", "--verbose", help="increase output verbosity",
  4. action="store_true")   # action 为"store_true"或"store_false"
  5. args = parser.parse_args()
  6. if args.verbose:     #注意verbose,和前面名字相同
  7. print "verbosity turned on"

使用

  1. $ python prog.py -v
  2. verbosity turned on
  3. $ python prog.py --help
  4. usage: prog.py [-h] [-v]
  5.  
  6. optional arguments:
  7. -h, --help show this help message and exit
  8. -v, --verbose increase output verbosity

三、混合类型

实例代码

  1. import argparse
  2. parser = argparse.ArgumentParser()
  3. parser.add_argument("square", type=int,
  4. help="display a square of a given number")
  5. parser.add_argument("-v", "--verbosity", action="count", default=0,
  6. help="increase output verbosity")  
    args = parser.parse_args()
  7. answer = args.square**2
  8. if args.verbosity >= 2:
  9. print "the square of {} equals {}".format(args.square, answer)
  10. elif args.verbosity >= 1:
  11. print "{}^2 == {}".format(args.square, answer)
  12. else:
  13. print answer
  1. 可以增加choices=[0, 1, 2]选项
  2.  
  3. 使用
  1. $ python prog.py 4 -vvv
  2. the square of 4 equals 16
  3. $ python prog.py 4 -vvvv
  4. the square of 4 equals 16
  5. $ python prog.py 4
  6. 16
  1.  
  2. 四、增加冲突选项,多个选项只能选一个
  1. import argparse
  2.  
  3. parser = argparse.ArgumentParser(description="calculate X to the power of Y") #描述
  4. group = parser.add_mutually_exclusive_group()
  5. group.add_argument("-v", "--verbose", action="store_true")
  6. group.add_argument("-q", "--quiet", action="store_true")
  7. parser.add_argument("x", type=int, help="the base")
  8. parser.add_argument("y", type=int, help="the exponent")
  9. args = parser.parse_args()
  10. answer = args.x**args.y
  11.  
  12. if args.quiet:
  13. print answer
  14. elif args.verbose:
  15. print "{} to the power {} equals {}".format(args.x, args.y, answer)
  16. else:
  17. print "{}^{} == {}".format(args.x, args.y, answer)

使用

  1. python prog.py --help   #prog.py为脚本名称
  2. usage: prog.py [-h] [-v | -q] x y
  3.  
  4. calculate X to the power of Y
  5.  
  6. positional arguments:
  7. x the base
  8. y the exponent
  9.  
  10. optional arguments:
  11. -h, --help show this help message and exit
  12. -v, --verbose
  13. -q, --quiet
  1.  

python argpase模块简单使用的更多相关文章

  1. python shutil模块简单介绍

    python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...

  2. python timeit模块简单用法

    timeit模块提供了一种简便的方法来为Python中的小块代码进行计时. 模块调用函数,stmp为要测试的函数,setup为测试环境,number为运行次数 timeit.timeit(stmt=) ...

  3. python paramiko 模块简单介绍

    背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 首先了解到了 p ...

  4. python numpy 模块简单介绍

    用python自带的list去处理数组效率很低, numpy就诞生了, 它提供了ndarry对象,N-dimensional object, 是存储单一数据类型的多维数组,即所有的元素都是同一种类型. ...

  5. Python traceback模块简单使用

    Python中的traceback模块被用于跟踪异常返回信息,可以在logging中记录下traceback. traceback.format_exc() 获取异常为字符串,保存到日志文件 try: ...

  6. python pandas模块简单使用(读取excel为例)

    第一步:模块安装 pip install pandas 第二步:使用(单个工作表为例) 说明:如果有多个工作表,那么只要指定sheetname=索引,(第一个工作表为0,第二个工作表为1,以此类推) ...

  7. Python日志模块简单使用

    def loginfo(info): # create logger logger = logging.getLogger('[cpu and mem]**********') # Set defau ...

  8. Python模块——loguru日志模块简单学习

    Python loguru模块简单学习 首先安装模块:pip install logoru,然后引入模块: from loguru import logger 1.直接输出到console logge ...

  9. Python Logging模块的简单使用

    前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...

随机推荐

  1. 如何用Python输出一个斐波那契Fibonacci数列

    a,b = 0, 1 while b<100: print (b), a, b = b, a+b

  2. python获取当前目录路径和上级路径

    在使用python的时候总会遇到路径切换的使用情况,如想从文件夹test下的test.py调用data文件夹下的data.txt文件: . └── folder ├── data │ └── data ...

  3. apply & call

    一.意义 function.apply(obj,args) obj代替function里this对象 args作为参数传给function 二.实例 1. obj代替function里this对象 f ...

  4. A Simple Web Server

    介绍 在过去20几年里,网络已经在各个方面改变了我们的生活,但是它的核心却几乎没有什么改变.多数的系统依然遵循着Tim Berners-Lee在上个世纪发布的规则.大多数的web服务器都在用同样的方式 ...

  5. ubuntu17.04 配置go环境变量

    把官网下载好的tar解压后,go文件夹放到 /usr/local 目录下 在当前用户的 .bashrc 文件末尾添加 这句话 export PATH=$PATH:/usr/local/go/bin 执 ...

  6. android密码显示和隐藏

    if (showPwd){ //设置EditText文本为可见的 password.setTransformationMethod(HideReturnsTransformationMethod.ge ...

  7. SQL Server 简单事务学习

    select * from bank ) ) --打开一个事务 begin tran --定义临时变量 ; set @num = @num + @@error; --上一条语句出错次数 set @nu ...

  8. bfc (收集的)

    一些基本概念 viewport: 展现网页的媒体,比如窗口或者某个区域,它的大小是有限制的,为了不被平台术语所束缚,我们给他起名viewport,中文意思就是视口. canvas: 而我们在渲染网页的 ...

  9. MySQL-版本及服务介绍

    一.MySQL各版本 1.MySQL产品 下载地址:https://www.mysql.com/downloads/ Oracle MySQL Cloud Service(commercial) 商业 ...

  10. Nagios 工作原理

    Nagios 工作原理 nagios通过nrpe插件和snmp协议进行主动监控.至于什么是主动监控可以参考上面所述.简单理解决就是nagios按照检测周期主动的获取远程主机的数据.这样一来实时性就要差 ...