python 中argparse 实例解析
一 概念:
argparse是python的一个命令行解析包。它可以使写用户友好的命令行接口变得非常容易。该模块定义什么参数是需要的,并且能指出怎么解析sys.argv的参数。它也可以自动的生成帮助和使用指南。
二 使用指南:
1 基本用法:没有参数输入的情况。
#!/usr/bin/env python
# encoding: utf-8 import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
根据下面的输出结果可以看出,这样只能默认是-h的输入,别的输入参数就会上报错误。
$ python base.py
$ python base.py -h
usage: base.py [-h] optional arguments:
-h, --help show this help message and exit
$ python base.py -v
usage: base.py [-h]
base.py: error: unrecognized arguments: -v
2 参数输入,直接参数可用。
#!/usr/bin/env python
# encoding: utf-8 import argparse parser = argparse.ArgumentParser()
parser.add_argument("audio")
args = parser.parse_args()
print args.audio
使用方法和结果:
$ python base.py audio
audio
3 可选参数和类型:
下面的这个参数square 的类型是限定在int类型,-v的类型使用choices限定在[0,1,2],这样就能很方便的看出来该解析函数的使用方法。
#!/usr/bin/env python
# encoding: utf-8 import argparse parser = argparse.ArgumentParser()
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],
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
~
使用和运算结果:
$ python choices_arg.py 4 -v 2
the square of 4 equals 16
$ python choices_arg.py -v 2
usage: choices_arg.py [-h] [-v {0,1,2}] square
choices_arg.py: error: too few arguments
通过这几个例子,我们对模块argparse有了大致的了解,详细的使用请参考下面的文档:
1 https://docs.python.org/3/library/argparse.html
python 中argparse 实例解析的更多相关文章
- python中argparse模块用法实例详解
		
python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...
 - python中argparse
		
python中argparse 在很多编程语言中,运行程序可以直接使用function(a,b,……)运行程序,但是在python中就无法实现,那么我们如何在命令行中传递参数呢?在python的中,有 ...
 - python中argparse模块简单使用
		
python中argparse模块简单使用 简介 argparse是python用于解析命令行参数和选项的标准模块.argparse模块的作用是用于解析命令行参数. 使用步骤 1.首先导入该模块 2. ...
 - julia与python中的列表解析.jl
		
julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...
 - Python中的列表解析和生成器表达式
		
Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 #!/usr/bin/env python #_*_coding:utf-8 ...
 - 第14.12节 Python中使用BeautifulSoup解析http报文:使用select方法快速定位内容
		
一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>和<第14.11节 Python中使用BeautifulSo ...
 - 第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容
		
一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>介绍了BeautifulSoup对象的主要属性,通过这些属性可以访 ...
 - python 中的json解析库
		
当一个json 数据很大的时候.load起来是很耗时的.python中常见的json解析库有cjson,simplesjson,json, 初步比较了一下, 对于loads来讲 simplejson ...
 - python 中的列表解析和生成表达式 - 转
		
优雅.清晰和务实都是python的核心价值观,如果想通过操作和处理一个序列(或其他的可迭代对象)来创建一个新的列表时可以使用列表解析( List comprehensions)和生成表达式,通过这两 ...
 
随机推荐
- Heartbeat详解
			
转自:http://blog.sina.com.cn/s/blog_7b6fc4c901012om0.html 配置主节点的Heartbeat Heartbeat的主要配置文件有ha.cf.hares ...
 - span的title标签中的换行
			
var strs = data.flowSummary; strs=strs.replace(/燮r燮n/g," "); js的全局替换用/要替换的字符串/g span的titl ...
 - 如何在OneNote for Mac 中插入文件附件?
			
OneNote 2016 Mac是一款非常方便的云笔记软件,可以随时记录您稍纵即逝的创意,灵感和发现,发挥您的潜能,简化你的生活和工作.有用户反应如何在OneNote for Mac 中插入文件附件呢 ...
 - centos 7.3 安装配置python3.6.1
			
1.先安装一些我遇到的依赖问题(如果有依赖问题按提示安装): yum install xz gcc zlib zlib-devel 2.官网下载源码包 地址:https://www.python.or ...
 - Maven引入自定义jar包
			
1.将项目打成jar包 或者下载某个jar包 放在某个目录下(随便吧,桌面也行),这里是放在F:/ jar包为 alipay.jar 2.给jar包取个名字 用原名也行(maven打包默认会 ...
 - 20175316盛茂淞 2018-2019-2《Java程序设计》结对编程项目-四则运算 第二周(6)
			
20175316与20175329 结对编程练习_四则运算(第二周) 1.需求分析 实现一个命令行程序,要求: 自动生成指定数量的小学四则运算题目(加.减.乘.除) 支持整数 统计正确率 支持多运算符 ...
 - jquery 3.4.0
			
jQuery 3.4.0 的更新内容主要是错误修复和功能改进,列举部分如下: 针对 .width 和 .height 的性能改进 支持 nonce 和 nomodule 针对 Radio 元素新增事件 ...
 - Java JSONArray for循环 remove成员的一个好算法
			
好久没写日志了,今天来写一个,JSONArry fro循环判断value,移除不需要的,不需再将JSONArry再次转换成 map或list. JSONArray移除成员只能通过for遍历取成员,判断 ...
 - <c:forEach>循环列表,获取勾选的checkbox中某个<td>的值
			
<table> <!--列表表头 开始 --> <tr> <th><input type="checkbox" name=&q ...
 - Oracle创建物化视图
			
1.物化视图语法 create materialized view [view_name] refresh [fast|complete|force] [ on [commit|demand] | s ...