Python-命令解析

  1. 使用optparse包
    #一个命令行解析
    import optparse
    parser = optparse.OptionParser('usage%prog -H  -u  -F ')
    parser.add_option('-H',dest='tgtHost',type='string',help='specify target host')
    parser.add_option('-F',dest='passwordFile',type='string',help='specify password file')
    parser.add_option('-u',dest='user',type='string',help='specify the user')
    #定义完所有参数之后开始解析传入的参数
    (options,args) = parser.parse_args()
    #options包含所有参数
    host = options.tgtHost
    passwordFile = options.passwordFile
    user = options.user```
首先实例化optparse.OptionParser对象,参数可以加入usage字符串。
然后添加命令行参数,parser.add_option方法,第一个参数是命令行指定的标记,第二个参数是标记后的参数值存储的变量名,第三个参数指定类型,最后一个参数指定帮助信息。
接下来就是解析参数,使用parser.parse_args()方法,通过序列解包,其中options包含了所有的传入参数变量。
通过options.tgtHost,其中后面的名字就是当时add_option指定的名字。

2. 使用argparse包
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-H',dest="tgtHost")
parser.add_argument('-p',dest="tgtPort")
args = parser.parse_args()
tgtHost = args.tgtHost
tgtPorts = args.tgtPort.split(",")```

首先实例化argparse.ArgumentParser()对象。
使用parser.add_argument()方法来添加要解析的参数,参数的意义如optparse
最后还是parser.parse_args()方法来获取所有传入参数
通过访问属性的形式来获取参数,tgtHost=args.tgtHost
例子

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("start",help="start of the cusip", type = int)
parser.add_argument("stop",help="stop of the cusip",  type = int)
args = parser.parse_args()
start = args.start
stop = args.stop
parser = cusip_parser('mbssrc_qsip.lst')
parser.run(start,stop)```

你可能感兴趣的:(Python-命令解析)