Python 带有选择的 argparse

Python argparse with choices

我想 运行 我的 python 程序从命令行使用一些选项。例如。假设我的程序有 4 种模式,我希望它通过给它以下参数来使用模式 2:

$ python main.py --mode 2

(模式 1、3、4 也类似)。如何使用 argparse 实现此目的?

import argparse


parser = argparse.ArgumentParser(description='PROJECT_NAME')
parser.add_argument(
    '--mode', '-m',
    help='Set mode',
    default=1,
    type=int,
    choices=[1,2,3,4],
)
args = parser.parse_args()

print(args.mode)

有关可用选项的完整列表,请访问文档:

https://docs.python.org/3/library/argparse.html


更新:

添加了 MaLiN2223 评论中的建议