我有此代码
parser = argparse.ArgumentParser()
parser.add_argument('--input')
parser.add_argument('--min')
parser.add_argument('--max')
args = parser.parse_args()
我怎么知道参数的顺序?例如,如果我键入:
python somefile.py --min min --input file.csv
我如何知道--min
的位置在--input
之前并且用户没有键入--max
?
我认为从解析器本身获取该信息可能很棘手,但是可以很容易地从sys.argv中获取它:
根据设计,argparse
应该以任何顺序处理optionals
。它们将按照在命令行中提供的顺序进行解析,但不会保留该顺序的任何记录。不带关键字的positionals
按照由add_argument
定义定义的顺序进行处理。