python 命令行参数解析 optparse usage

‘’’
import sys
from optparse import OptionParser

def prepare_optparser():
usage = “usage: %prog -i train_file_name -t test_file_name”
description = “Deep learning with self-attention.”
optparser = OptionParser(version="%prog v1.00", description=description, usage=usage, add_help_option=False)
optparser.add_option("-h","–help",action=“help”,help=“Show this help message and exit.”)
optparser.add_option("-i","–train_file",dest=“train_file”,type=“string”,
help=“Train_file_name”)
optparser.add_option("-t","–test_file",dest=“test_file”,type=“string”,
help=“Test_file_name”)
(options,args) = optparser.parse_args()
return(options)

opts=prepare_optparser() #ectract the corresponding parameter
train_file = opts.train_file #extract the value
test_file = opts.test_file
print(“This is the input train filename:”, train_file)
print(“This is the input test filename:”, test_file)
‘’’
#___________ all kinds of parameter documentary-----------------------

  • 常用参数说明

dest 存储的变量. Could be extracted by the name
default 默认值
help 帮助信息
action 参数讲解

  1. action = “store”
    (1)如果输入的参数fakeArgs中存在"-v",则verbose返回的值为fakeArgs中的紧跟’-v’的数,
    #即"good luck to you"。这也正好options中的键值对应,剩下配对的参数都传给了args。请见以下代码
    ‘’‘
    optParser.add_option("-f","–file",action = “store”,type = “string”,dest = “fileName”)
    optParser.add_option("-v","–vison", action=“store”, dest=“verbose”)
    fakeArgs = [’-f’,‘file.txt’,’-v’,‘good luck to you’, ‘arg2’, ‘arge’]
    options, args = optParser.parse_args(fakeArgs)
    print (optParse.verbose)
    print (options)
    print (args)
    ‘’‘
    (2) 如果输入的参数不存在“-v”, 则 version 的返回值为None
  2. action = “store_true”
    (1)fakeArgs中存在’-v’,verbose将会返回True而不是"good luck to you"。意思就是说verbose的值与’-v’
    #的后一位无关,只与’-v’存不存在就关
    (2)fakeArg中不存在‘-v’, verbose则同样返回空
  3. action = “store_false”
    (1)这与action="store_true"类似,只有其中有参数’-v’存在,则verbose的值为False,如果’-v’不存在,那么verbose的值为None
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值