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 相关文章推荐
Python2中的raw_input() 与 input()
Jun 12 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 Python
Python装饰器原理与用法分析
Apr 30 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
python opencv捕获摄像头并显示内容的实现
Jul 11 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
python读写csv文件的方法
Aug 13 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
Python字符串格式化f-string多种功能实现
May 07 Python
python3使用diagrams绘制架构图的步骤
Apr 08 Python
Python制作动态字符画的源码
Aug 04 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
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
php 购物车的例子
2009/05/04 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python读取html中指定元素生成excle文件示例
2014/04/03 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Python 如何展开嵌套的序列
2020/08/01 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
基层干部十八大感言
2014/01/19 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
教师教学评估方案
2014/05/09 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书