[python] Parse arguments

sys.argv

1 import sys
2 def parse_args():
3     for arg in sys.argv[1:]:
4         print arg


getopt

 1 import sys
 2 import getopt
 3 def test_getopt():
 4     """
 5     'Usage:test.py [-a|-b|-h|-A|-B|-H] args
 6     """
 7     try:
 8         '''
 9         getopt(args, shortopts, longopts=[])
10         args: Typically this is sys.argv[1:]
11         shortopts: one string
12         longopts: one list
13         a:,A= this means it has a argument follow up
14         h,H  No argument there
15         return value consists of two list.
16         '''
17         opts,args = getopt.getopt(sys.argv[1:],'a:b:h',['A=','B=','H'])
18     except getopt.GetoptError:
19         test_getopt.__doc__
20         sys.exit()
21 
22     print opts #list of tuple like[('-h',''),('-a','argument')]
23     print arg #list after stripped by opts
24     for opt, arg in opts:
25         if opt in ("-h", "--H"):
26             test_getopt.__doc__
27             sys.exit()
28         elif opt in ("-a", "--A"):
29             one_arg = arg
30         elif opt in ("-b", "--B"):
31             two_arg = arg
32     print one_arg
33     print two_arg

output being with:
test.py -a hello -b world c:\myscripts

[('-a','hello'),('-b','world')]

['c:\myscripts']

hello

world

 

 

posted @ 2013-12-28 17:28  Yu Zi  阅读(913)  评论(0编辑  收藏  举报