- 使用optparse包
#一个命令行解析
import optparse
parser = optparse.OptionParser('usage%prog -H <target host> -u <user> -F <password file>')
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)```
网友评论