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脚本实现统计日志文件中的ip访问次数代码分享
Aug 06 Python
浅谈Python中的闭包
Jul 08 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
Python3对称加密算法AES、DES3实例详解
Dec 06 Python
Django后台admin的使用详解
Jul 08 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
May 26 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 Python
Python实现小黑屋游戏的完整实例
Jan 06 Python
python读取mat文件生成h5文件的实现
Jul 15 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
留言板翻页的实现详解
2006/10/09 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2021/03/09 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
JavaScript 高效运行代码分析
2010/03/18 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
使用JS获取SessionStorage的值
2018/01/12 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
python挖矿算力测试程序详解
2019/07/03 Python
python的Jenkins接口调用方式
2020/05/12 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
Python获取excel内容及相关操作代码实例
2020/08/10 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
爱情检讨书大全
2014/01/21 职场文书
校园文明倡议书
2014/05/16 职场文书
宿舍标语大全
2014/06/19 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书