Python处理命令行参数模块optpars用法实例分析


Posted in Python onMay 31, 2018

本文实例讲述了Python处理命令行参数模块optpars用法。分享给大家供大家参考,具体如下:

optpars是python中用来处理命令行参数的模块,可以自动生成程序的帮助信息,功能强大,易于使用,可以方便的生成标准的,符合Unix/Posix 规范的命令行说明。

使用 add_option() 来加入选项,使用 parse_args() 来解析命令行。

add_option()中参数

第一个参数表示option的缩写,以单个中划线引导,例如-f、-d,只能用单个字母,可以使用大写;

第二个参数表示option的全拼,以两个中划线引导,例如--file、--Opencv_version;

第一第二个参数可以单独使用,也可以同时使用,但必须保证有其中一个;

从第三个参数开始是命名参数,是可选参数,常用的几个:

type=: 表示输入命令行参数的值的类型,默认为string,可以指定为string, int, choice, float,complex其中一种;
default=: 表示命令参数的默认值;
metavar=: 显示到帮助文档中用来提示用户输入期望的命令参数;
dest=:指定参数在options对象中成员的名称,如果没有指定dest参数,将用命令行参数名来对options对象的值进行存取。
help=:  显示在帮助文档中的信息;

解析命令行

(options, args) = parse.parse_args()

或在main(argv)函数里:

(options, args) = parser.parse_args(argv)

options,是一个对象(optpars.Values),保存有命令行参数值。通过命令行参数名,如 file,访问其对应的值: options.file ;
args,是一个由 positional arguments 组成的列表;

optparse使用

import sys
from optparse import OptionParser
parser = OptionParser()
parser.add_option('-f','--file',type=str,default='./image',help='file path of images',dest='file_path')
parser.add_option('--weights','-w',type=str,default='./weights_saved',help="file location of the trained network weights")
parser.add_option('--iterations','-i',type=int,default=10000,help='iteration time of CRNN Net')
parser.add_option('--gpu','-g',type=int,default=0,help="gpu id")
def main(argv):
  (options, args) = parser.parse_args()
  (options, args) = parser.parse_args(argv)  # both OK
  print 'file path of images: ' + options.file_path
  print "file location of the trained network weights: " + options.weights
  print 'iteration time of CRNN Net: ' + str(options.iterations)
  print 'gpu id: ' + str(options.gpu)
if __name__ == '__main__':
 main(sys.argv)

查看帮助文档:

python test.py -h

显示:

Usage: test.py [options]
Options:
  -h, --help            show this help message and exit
  -f FILE_PATH, --file=FILE_PATH
                        file path of images
  -w WEIGHTS, --weights=WEIGHTS
                        file location of the trained network weights
  -i ITERATIONS, --iterations=ITERATIONS
                        iteration time of CRNN Net
  -g GPU, --gpu=GPU     gpu id

输入命令行参数:

python test.py -f ../tensorflow/train_image -w ../tensorflow/weights -i 5000 -g 2

输出:

file path of images:  ../tensorflow/train_image
file location of the trained network weights:  ../tensorflow/weights
iteration time of CRNN Net:  5000
gpu id:  2

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python基础教程之缩进介绍
Aug 29 Python
python实现从一组颜色中找出与给定颜色最接近颜色的方法
Mar 19 Python
python执行子进程实现进程间通信的方法
Jun 02 Python
浅谈Python的Django框架中的缓存控制
Jul 24 Python
python 写的一个爬虫程序源码
Feb 28 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
python使用__slots__让你的代码更加节省内存
Sep 05 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
PyCharm的设置方法和第一个Python程序的建立
Jan 16 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
May 05 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
Jun 27 Python
python 读取修改pcap包的例子
Jul 23 Python
python筛选出两个文件中重复行的方法
May 31 #Python
python删除文本中行数标签的方法
May 31 #Python
Python使用wget实现下载网络文件功能示例
May 31 #Python
Python使用progressbar模块实现的显示进度条功能
May 31 #Python
python调用Matplotlib绘制分布点并且添加标签
May 31 #Python
python批量修改文件编码格式的方法
May 31 #Python
Python用for循环实现九九乘法表
May 31 #Python
You might like
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
Using the TextRange Object
2006/10/14 Javascript
Javascript----文件操作
2007/01/18 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
2019/07/29 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
python实现class对象转换成json/字典的方法
2016/03/11 Python
python对象及面向对象技术详解
2016/07/19 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Python算术运算符实例详解
2017/05/31 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
python如何从键盘获取输入实例
2020/06/18 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
为什么需要版本控制
2016/10/28 面试题
采购员岗位职责
2013/11/15 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
就业意向书
2014/07/29 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书