Python ArgumentParser:每个位置参数的选项 à la FFmpeg

问题描述 投票:0回答:1

是否可以进行

ArgumentParser()
解析

prog.py FILE1 -a 42 FILE2 -b FILE3 -a 15 -b FILE4 

例如4本词典

args.files == [
  {'a': DEFAULT_A, 'b': False, 'name': 'FILE1'},
  {'a': 42, 'b': False, 'name': 'FILE2'},
  {'a': DEFAULT_A, 'b': True, 'name': 'FILE3'},
  {'a': 15, 'b': True, 'name': 'FILE4'},
]
python command-line-interface command-line-arguments
1个回答
0
投票

我不这么认为。您希望每个位置参数与零个或多个以下可选参数相关联。

  • 您不能将可选参数与任意位置参数关联,只能将一个单个预定义子命令关联起来。
  • 可选参数必须位于所有位置参数之前。
  • 即使您设法获得类似
    Namespace(files=[FILE1, FILE2, FILE3, FILE4], a=[42, 15], b=[True, True])
    的内容,也无法确定哪些文件名获得哪些
    a
    b
    值(或适当的默认值。)
© www.soinside.com 2019 - 2024. All rights reserved.