parser.add_argument('--foo', nargs='?', metavar='bar', default='baz')
parser.print_usage()
for args in ([], ['--foo'], ['--foo', 'bar']):
    print('$ %s %s -> foo=%s' % (parser.prog, ' '.join(args).ljust(9),
        parser.parse_args(args).foo))
Параметры командной строки с необязательными аргументами в Python