【发布时间】:2019-07-12 08:52:13
【问题描述】:
我正在编写一个脚本,它可以执行多项操作,具体取决于传递到命令行的参数。例如:
#changed and simplified from actual code
parser.add_argument('-a','--apple')
parser.add_argument('-b','--boy')
parser.add_argument('-c', '--car')
parser.add_argument('-d', '--dog')
args = parser.parse_args()
我只想要命令行中的 1 个参数。因此,只会接受-a,-b,-c,-d 中的一个,然后代码将根据传递的任何参数执行。
我可以通过一系列 if 语句来做到这一点,比如
if args.a:
if args.b:
等等。有没有更好的方法来解决这个问题?
对于每个命令行选项 (-a,-b,-c,-d),我希望传入一些参数。这些参数将是特定的,并且会根据初始命令行选项而有所不同。例如:
python test.py -a apple aardvark aquaman
我考虑过使用nargs,但我不知道如何使每个参数都是
- 以正确的顺序和
- 需要的参数。在上面的示例中,假设额外可选参数的数量为 3,我想确保所有参数都以字母
a开头。
我该如何处理?
【问题讨论】:
标签: python command-line-arguments argparse optional-arguments