Python:Argparse - 必需和可选参数

Python: Argparse - Required AND optional arguments

如何使用 argparseadd_argument() 函数,以便用户必须解析一个必需的值,并可能还解析一个可选的值?

例如--read book [page]。您可以省略 page 或解析您要阅读的特定页面。如果您省略它,它将从第一页开始。

我认为这很容易做到,因为我可以看到很多任务,但显然不是?

我正在使用 Python 3+。

您在调用中添加 nargs='?',默认值为 1(也可能 type=int 被解析为数字):

parser.add_argument('--read', dest='book', help='book to read')
parser.add_argument('page', nargs='?', default=1, type=int, help='page number')