第十四章:应用构建模块-getopt:命令行选项解析-一个完整的例子

14.2.4 一个完整的例子
以下代码清单中的例子是一个更完整的程序,它有5个选项:-o,-v,–output,–verbose和–version。其中-o,–output和–version选项都需要一个参数。

import getopt
import sys

version = '1.0'
verbose = False
output_filename = 'default.out'

print('ARGV      :',sys.argv[1:])

try:
    options,remainder = getopt.getopt(
        sys.argv[1:],
        'o:v',
        ['output=',
         'verbose',
         'version=',
         ])
except getopt.GetoptError as err:
    print('ERROR:',err)
    sys.exit(1)

print('OPTIONS   :',options)

for opt,arg in options:
    if opt in ('-o','--output'):
        output_filename = arg
    elif opt in ('-v','--verbose'):
        verbose = True
    elif opt == '--version':
        version = arg

print('VERSION   :',version)
print('VERBOSE   :',verbose)
print('OUTPUT    :',output_filename)
print('REMAINING :',remainder)

可以采用多种不同方式来调用这个程序。如果不带任何参数地调用这个程序,那么会使用默认设置。
在这里插入图片描述

单字符选项与其参数可以使用空白符分隔。
在这里插入图片描述

或者,也可以把选项和值结合到一个参数中。
在这里插入图片描述

也可以类似地将长格式选项与值分隔。
在这里插入图片描述

一个长格式选项与它的值结合时,选项名和值要用一个=分隔。
在这里插入图片描述

14.2.5 缩写长格式选项
只要提供了一个唯一的前缀,就不必在命令行上完整地拼写出长格式选项。
在这里插入图片描述

如果没有提供一个唯一的前缀,则会产生一个异常。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值