python argpase模块简单使用
python2.7
手册地址:https://docs.python.org/2/howto/argparse.html#id1
实现效果:脚本程序可以带参数
python arg.py -h
一、位置参数
示例代码:
- import argparse
- parser = argparse.ArgumentParser() # 实例化
- parser.add_argument("square", help="display a square of a given number",
- type=int) # 名称 help 帮助信息 type 接受参数类型,默认为字符串
- args = parser.parse_args() #接受的参数
- print args.square**2
使用
- $ python prog.py 4
- 16
- $ python prog.py four
- usage: prog.py [-h] square
- prog.py: error: argument square: invalid int value: 'four'
二、可选参数
实例代码
- import argparse
- parser = argparse.ArgumentParser()
- parser.add_argument("-v", "--verbose", help="increase output verbosity",
- action="store_true") # action 为"store_true"或"store_false"
- args = parser.parse_args()
- if args.verbose: #注意verbose,和前面名字相同
- print "verbosity turned on"
使用
- $ python prog.py -v
- verbosity turned on
- $ python prog.py --help
- usage: prog.py [-h] [-v]
- optional arguments:
- -h, --help show this help message and exit
- -v, --verbose increase output verbosity
三、混合类型
实例代码
- import argparse
- parser = argparse.ArgumentParser()
- parser.add_argument("square", type=int,
- help="display a square of a given number")
- parser.add_argument("-v", "--verbosity", action="count", default=0,
- 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
- 可以增加choices=[0, 1, 2]选项
- 使用
- $ python prog.py 4 -vvv
- the square of 4 equals 16
- $ python prog.py 4 -vvvv
- the square of 4 equals 16
- $ python prog.py 4
- 16
- 四、增加冲突选项,多个选项只能选一个
- import argparse
- parser = argparse.ArgumentParser(description="calculate X to the power of Y") #描述
- group = parser.add_mutually_exclusive_group()
- group.add_argument("-v", "--verbose", action="store_true")
- group.add_argument("-q", "--quiet", action="store_true")
- parser.add_argument("x", type=int, help="the base")
- parser.add_argument("y", type=int, help="the exponent")
- args = parser.parse_args()
- answer = args.x**args.y
- if args.quiet:
- print answer
- elif args.verbose:
- print "{} to the power {} equals {}".format(args.x, args.y, answer)
- else:
- print "{}^{} == {}".format(args.x, args.y, answer)
使用
- python prog.py --help #prog.py为脚本名称
- usage: prog.py [-h] [-v | -q] x y
- calculate X to the power of Y
- positional arguments:
- x the base
- y the exponent
- optional arguments:
- -h, --help show this help message and exit
- -v, --verbose
- -q, --quiet
python argpase模块简单使用的更多相关文章
- python shutil模块简单介绍
python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...
- python timeit模块简单用法
timeit模块提供了一种简便的方法来为Python中的小块代码进行计时. 模块调用函数,stmp为要测试的函数,setup为测试环境,number为运行次数 timeit.timeit(stmt=) ...
- python paramiko 模块简单介绍
背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 首先了解到了 p ...
- python numpy 模块简单介绍
用python自带的list去处理数组效率很低, numpy就诞生了, 它提供了ndarry对象,N-dimensional object, 是存储单一数据类型的多维数组,即所有的元素都是同一种类型. ...
- Python traceback模块简单使用
Python中的traceback模块被用于跟踪异常返回信息,可以在logging中记录下traceback. traceback.format_exc() 获取异常为字符串,保存到日志文件 try: ...
- python pandas模块简单使用(读取excel为例)
第一步:模块安装 pip install pandas 第二步:使用(单个工作表为例) 说明:如果有多个工作表,那么只要指定sheetname=索引,(第一个工作表为0,第二个工作表为1,以此类推) ...
- Python日志模块简单使用
def loginfo(info): # create logger logger = logging.getLogger('[cpu and mem]**********') # Set defau ...
- Python模块——loguru日志模块简单学习
Python loguru模块简单学习 首先安装模块:pip install logoru,然后引入模块: from loguru import logger 1.直接输出到console logge ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
随机推荐
- 如何用Python输出一个斐波那契Fibonacci数列
a,b = 0, 1 while b<100: print (b), a, b = b, a+b
- python获取当前目录路径和上级路径
在使用python的时候总会遇到路径切换的使用情况,如想从文件夹test下的test.py调用data文件夹下的data.txt文件: . └── folder ├── data │ └── data ...
- apply & call
一.意义 function.apply(obj,args) obj代替function里this对象 args作为参数传给function 二.实例 1. obj代替function里this对象 f ...
- A Simple Web Server
介绍 在过去20几年里,网络已经在各个方面改变了我们的生活,但是它的核心却几乎没有什么改变.多数的系统依然遵循着Tim Berners-Lee在上个世纪发布的规则.大多数的web服务器都在用同样的方式 ...
- ubuntu17.04 配置go环境变量
把官网下载好的tar解压后,go文件夹放到 /usr/local 目录下 在当前用户的 .bashrc 文件末尾添加 这句话 export PATH=$PATH:/usr/local/go/bin 执 ...
- android密码显示和隐藏
if (showPwd){ //设置EditText文本为可见的 password.setTransformationMethod(HideReturnsTransformationMethod.ge ...
- SQL Server 简单事务学习
select * from bank ) ) --打开一个事务 begin tran --定义临时变量 ; set @num = @num + @@error; --上一条语句出错次数 set @nu ...
- bfc (收集的)
一些基本概念 viewport: 展现网页的媒体,比如窗口或者某个区域,它的大小是有限制的,为了不被平台术语所束缚,我们给他起名viewport,中文意思就是视口. canvas: 而我们在渲染网页的 ...
- MySQL-版本及服务介绍
一.MySQL各版本 1.MySQL产品 下载地址:https://www.mysql.com/downloads/ Oracle MySQL Cloud Service(commercial) 商业 ...
- Nagios 工作原理
Nagios 工作原理 nagios通过nrpe插件和snmp协议进行主动监控.至于什么是主动监控可以参考上面所述.简单理解决就是nagios按照检测周期主动的获取远程主机的数据.这样一来实时性就要差 ...