Closed
Description
In the code below, it is valid to supply no arguments.
from argparse import ArgumentParser
p = ArgumentParser()
p.add_argument('dessert', nargs='*', choices=('cake', 'pie'))
p.parse_args([])
However, the following error is generated:
usage: tmp5.py [-h] [{cake,pie} ...]
tmp5.py: error: argument dessert: invalid choice: [] (choose from 'cake', 'pie')
What is happening is that the empty list is being treated a value rather than a collection of values.
Metadata
Metadata
Assignees
Labels
Projects
Status
Doc issues