【Python】optparse模块 - 处理命令行参数

optparse是python中用来处理命令行参数的模块,可以自动生成程序的帮助信息,功能强大,易于使用,可以方便的生成标准的,符合Unix/Posix 规范的命令行说明。

使用 add_option() 来加入选项,使用 parse_args() 来解析命令行。

add_option()中参数:

add_option(self, *args, **kwargs)

第一个参数表示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,是一个对象,保存命令行参数值。通过命令行参数名,如 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 iamges', 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

    '''
    参数调用的顺序为:
        1、options.dest参数
        2、options.--参数
        3、options.-参数
    若无“dest参数”,则调用“--参数”
    若“dest参数”和“--参数”均无,则调用“-参数”
    以上顺序不要颠倒,否则报错
    '''
    print('file path of image: ', 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))
    print(args)


if __name__ == '__main__':
    main(sys.argv)

结果:

file path of image:  ./image
file location of the trained network weights: ./weights_saved
iteration time of CRNN Net: 10000
gpu id: 0
['D:/test.py']

Python命令行查看帮助文档:

命令行传参:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值