如何实现命令行中的多项选择参数?会有一组预定义的选项,用户可以选择多个:

python cli.py --alphabet upper,lower,digits,symbols

或者
python cli.py --alphabet upper lower digits symbols

最佳答案

看:

  • https://docs.python.org/3/library/argparse.html#choices
  • https://docs.python.org/3/library/argparse.html#nargs

  • 例子:
    >>> import argparse
    >>> parser = argparse.ArgumentParser(prog='game.py')
    >>> parser.add_argument('--move', choices=['rock', 'paper', 'scissors'], nargs="+")
    >>> parser.parse_args(['--move', 'rock', 'paper'])
    Namespace(move=['rock', 'paper'])
    >>> parser.parse_args(['--move','fire'])
    usage: game.py [-h] [--move {rock,paper,scissors} [{rock,paper,scissors} ...]]
    game.py: error: argument --move: invalid choice: 'fire' (choose from 'rock', 'paper', 'scissors')
    

    关于python - 多项选择命令行参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44342813/

    10-12 22:11