It is a 'standard' behaviour that a lone '--' terminates options. argparse says:
If you have positional arguments that must begin with '-' and don’t look like negative numbers, you can insert the pseudo-argument '--' which tells parse_args that everything after that is a positional argument: But it doesn't seem to work: import argparse parser = argparse.ArgumentParser() parser.add_argument ('--submit', '-s', action='store_true') parser.add_argument ('--list', '-l', action='store_true') opt = parser.parse_args() ./queue --submit -- test1.py -n usage: queue [-h] [--submit] [--list] queue: error: unrecognized arguments: -- test1.py -n -- http://mail.python.org/mailman/listinfo/python-list