from __future__ import print_function

script = """

import argparse
import sys

parser = argparse.ArgumentParser(prog='script', description="This is an example.",
                                 usage='%(prog)s [-h] (--file FILE | FILE)')
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('positional_file', nargs='?', help='specifies a file.')
group.add_argument('--file', help='specifies a file.')

args = parser.parse_args()
print(sys.argv[1:])
print(args)
file = args.positional_file if args.file is None else args.file
"""

import sys
from subprocess import call

for args in (["abc"],  ["--file", "abc"], ["--file", "abc", "def"], [],
             ['-h'], ['-h', '1'], ['--help']):
    print("run with {}".format(args), file=sys.stderr)
    call([sys.executable, "-c", script] + args)