paul j3 added the comment: The attached file has a 'parse_intermixed_args()' that has the same API as 'parse_known_args()'.
It follows the two parse step model args, remaining_args = optionals.parse_known_args() args, extras = positionals.parse_known_args(remaining_args, args) except that the 'optionals parser' is self with the positional arguments 'deactivated' by setting their nargs to 0. Similarly the 'positionals parser' is self with the optional arguments set to 'required=false'. Here it is in a standalone test module illustrating its functionality and limitations. I could provide a patch, but this form might easier to test in your own code. When used to run test_argparse.py, it had problems in the cases where the distinction between positionals and optionals is blurred. For example, PARSER and REMAINDER are supposed to grab everything that follows regardless of what it looks like. I choose to fall back on a single 'parse_know_args' call. Raising an error would the alternative. Similarly, a mutually exclusive group that includes a positional is difficult to handle. Again I fall back on the single step. So the two issues to be discussed are: - does it provide the desired freedom to mix optionals and positionals? - in the difficult cases, should it punt, or raise an error? ---------- Added file: http://bugs.python.org/file29982/test_intermixed.py _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue14191> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com