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将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
python爬取足球直播吧五大联赛积分榜
Jun 13 Python
flask session组件的使用示例
Dec 25 Python
django的csrf实现过程详解
Jul 26 Python
Python使用Pandas库常见操作详解
Jan 16 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
3种适用于Python的疯狂秘密武器及原因解析
Apr 29 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
Python工程师必考的6个经典面试题
Jun 28 Python
PyQt5的相对布局管理的实现
Aug 07 Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
php 邮件发送问题解决
2014/03/22 PHP
理解PHP中的stdClass类
2014/04/18 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
Python冒泡排序注意要点实例详解
2016/09/09 Python
详解python开发环境搭建
2016/12/16 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
文明倡议书
2015/01/19 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
优秀创业计划书分享
2019/07/19 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL