[argparse] optional parameter without --switch

c.buhtz at posteo.jp c.buhtz at posteo.jp
Mon Nov 23 12:04:01 EST 2015


I want to call (on bash) a Python script in this two ways without any
error.
 ./arg.py
 ./arg.py TEST
It means that the parameter (here with the value `TEST`) should be
optional. With argparse I only know a way to create optional paramters
when they have a switch (like `--name`).
Is there a way to fix that?
 #!/usr/bin/env python3 
 import sys
 import argparse
 parser = argparse.ArgumentParser(description=__file__)
 
 # must have
 #parser.add_argument('name', metavar='NAME', type=str)
 
 # optional BUT with a switch I don't want
 #parser.add_argument('--name', metavar='NAME', type=str)
 
 # store all arguments in objects/variables of the local namespace
 locals().update(vars(parser.parse_args()))
 
 print(name)
 
 sys.exit()
-- 
GnuPGP-Key ID 0751A8EC


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /