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在windows命令行下输出彩色文字的方法
Mar 19 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
Python编程判断一个正整数是否为素数的方法
Apr 14 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
详解opencv Python特征检测及K-最近邻匹配
Jan 21 Python
python+pygame实现坦克大战
Sep 10 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
简单了解python装饰器原理及使用方法
Dec 18 Python
Python有参函数使用代码实例
Jan 06 Python
Python关于反射的实例代码分享
Feb 20 Python
python excel多行合并的方法
Dec 09 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 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实现选择排序的解决方法
2013/05/04 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
php 数组元素快速去重
2017/05/05 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Android分包MultiDex策略详解
2017/10/30 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
softmax及python实现过程解析
2019/09/30 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
python集合删除多种方法详解
2020/02/10 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
青年文明号汇报材料
2014/12/23 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis