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 相关文章推荐
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
使用Python的Zato发送AMQP消息的教程
Apr 16 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
Python判断某个用户对某个文件的权限
Oct 13 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
使用pycharm在本地开发并实时同步到服务器
Aug 02 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
基于python实现监听Rabbitmq系统日志代码示例
Nov 28 Python
Pandas搭配lambda组合使用详解
Jan 22 Python
Python批量解压&压缩文件夹的示例代码
Apr 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获取url参数方法总结
2014/11/13 PHP
php中session定期自动清理的方法
2015/11/12 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
浅谈Nodejs观察者模式
2015/10/13 NodeJs
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
收集的几个Python小技巧分享
2014/11/22 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
python中使用while循环的实例
2019/08/05 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
法学研究生自我鉴定范文
2013/12/04 职场文书
打架检讨书100字
2014/01/08 职场文书
回门宴父母答谢词
2014/01/26 职场文书
如何写早恋检讨书
2014/09/10 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python