[cpp] view plaincopyprint?

  1. import getopt  

  2. import sys  

  3.   

  4. config = {  

  5.     "input":"",  

  6.     "output":".",  

  7.       

  8. }  

  9.   

  10. #getopt三个选项,第一个一般为sys.argv[1:],第二个参数为短参数,如果参数后面必须跟值,须加:,第三个参数为长参数  

  11. #是一个列表,  

  12. opts, args = getopt.getopt(sys.argv[1:], 'hi:o:d',   

  13.       [  

  14.         'input=',   

  15.         'output=',   

  16.         'help'  

  17.         ]  

  18.       )  

  19.   

  20. #参数的解析过程,长参数为--,短参数为-  

  21. for option, value in opts:  

  22.     if  option in ["-h","--help"]:  

  23.         print """  

  24.         usage:%s --input=[value] --output=[value]  

  25.         usage:%s -input value -o value  

  26.         """  

  27.     elif option in ['--input''-i']:  

  28.         config["input"] = value  

  29.     elif option in ['--output''-o']:  

  30.         config["output"] = value  

  31.     elif option == "-d":  

  32.         print "usage -d"  

  33.   

  34. print config   


输入的参数:--input=c:\temp\aa -o c:\temp\output -d


打印的结果:

usage -d
{'input': 'c:\\temp\\aa', 'output': 'c:\\temp\\output'}