KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm working with argparse and am trying to mix sub-commands and positional arguments, and the following issue came up. This code runs fine: import argparse parser = argparse.ArgumentParser() subparsers = parser.add_subparsers() parser.add_argument('positional') subparsers.add_parser('subpositional') parser.parse_args('subpositional positional'.split()) The above code parses the args into Namespace(positional='positional') , however when I change the positional argument to have nargs='?' as such: import argparse parser = argparse.ArgumentParser() subparsers = parser.add_subparsers() parser.add_argument('positional', nargs='?') subparsers.add_parser('subpositional') parser.parse_args('subpositional positional'.split()) It errors out with: usage: [-h] {subpositional} ... [positional] : error: unrecognized arguments: positional Why is this?
Tags (comma-separated)
Save Edits
Cancel