5. Getopt
C-style parser for command line options
import getopt, sys
def usage():
print('{} usage:n'.format(sys.argv[0]))
print('bidule: do somethin great.')
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "ho:v",
["help", "output="])
except getopt.GetoptError as err:
print str(err); usage(); sys.exit(2)
output = None; verbose = False
for o, a in opts:
if o == "v":
verbose = True
elif o in ("h", "help"):
usage(); sys.exit()
elif o in ("o", "output"):
output = a
else:
assert False, "unhandled option"
# ...
if('bidule' in args):
print('Bidule')
if __name__ == "__main__":
main()
Old style parsing !
6. Argparse
Python build in module
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square",
type=int,
help="display the square of a given number"
parser.add_argument("v",
"verbosity",
action="count",
help="increase output verbosity")
args = parser.parse_args()
answer = args.square ** 2
if args.verbosity == 2:
print "the square of {} equals {}".format(args.square,
elif args.verbosity == 1:
print "{}^2 == {}".format(args.square, answer)
else:
print answer
7. Argparse
Usage automatically created
$ python argparse_sample.py -h
usage: argparse_sample.py [-h] [-v] square
positional arguments:
square display the square of a given number
optional arguments:
-h, --help show this help message and exit
-v, --verbosity increase output verbosity