标签:
一、getopt
opts,args = getopt.getopt ( [命令行参数列表], "短选项", [长选项列表] ) ,第三个参数可省略
短选项名后的冒号(:)表示该选项必须有附加的参数。如果没有:,-abc等价于-a -b -c;如果a有:,-abc等价于-a bc。
长选项名后的等号(=)表示该选项必须有附加的参数。
返回opts和args。
opts是一个参数选项及其value的元组[(‘-o‘, ‘value‘),(‘--option‘,‘‘),...],opts可有重复项
args是一个除去有用参数外其他的命令行输入 [ ‘a1‘, ‘a2‘,... ]
1 import getopt, sys 2 3 def main(): 4 try: 5 opts, args = getopt.getopt(sys.argv[1:], "ho:v", ["help", "output="]) 6 except getopt.GetoptError as err: 7 # print help information and exit: 8 print str(err) # will print something like "option -a not recognized" 9 usage() 10 sys.exit(2) 11 output = None 12 verbose = False 13 for o, a in opts: 14 if o == "-v": 15 verbose = True 16 elif o in ("-h", "--help"): 17 usage() 18 sys.exit() 19 elif o in ("-o", "--output"): 20 output = a 21 else: 22 assert False, "unhandled option" 23 # ... 24 25 if __name__ == "__main__": 26 main()
二、argparse
三、optparse
2.7开始废弃
四、docopt
非标准库
标签:
原文地址:http://www.cnblogs.com/perel/p/4710173.html