#!/usr/bin/env python
import argparse
parser = argparse.ArgumentParser(prog='PROG')
parser.add_argument('--foo')
parser.add_argument('command')
parser.add_argument('args', nargs=argparse.REMAINDER)
try:
# this works and parses correctly, from the example
print(parser.parse_args('--foo B cmd --arg1 XX ZZ'.split()))
except SystemExit as e:
print(e)
try:
# this works and parses correctly too
print(parser.parse_args('cmd --arg1 XX ZZ'.split()))
except SystemExit as e:
print(e)
try:
# this doesn't work
print(parser.parse_args('--foo B --arg1 XX ZZ'.split()))
except SystemExit as e:
print(e)
try:
# this doesn't work
print(parser.parse_args('--arg1 XX ZZ'.split()))
except SystemExit as e:
print(e)