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 26 Python
Python中针对函数处理的特殊方法
Mar 06 Python
python 使用get_argument获取url query参数
Apr 28 Python
python实现kNN算法
Dec 20 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 Python
python对文件的操作方法汇总
Feb 28 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
matplotlib quiver箭图绘制案例
Apr 17 Python
Python如何将装饰器定义为类
Jul 30 Python
Python3+Flask安装使用教程详解
Feb 16 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将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
ZendFramework框架实现连接两个或多个数据库的方法
2016/12/08 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
python实现的简单窗口倒计时界面实例
2015/05/05 Python
在Python中移动目录结构的方法
2016/01/31 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
django session完成状态保持的方法
2018/11/27 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
校长竞聘演讲稿
2014/05/16 职场文书
公司节能减排方案
2014/05/16 职场文书
少先队活动总结
2014/08/29 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python