Я просто заметил поведение в argparse, которое озадачило меня (предположим, что я никогда раньше не использовал его для немого списка файлов):
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('multi', action='append', nargs='+')
print(parser.parse_args())
Это дает мне результат:
~$ ./testargs.py foo bar baz
Namespace(multi=[['foo', 'bar', 'baz']])
~$
Я ожидал, что multi
будет ['foo', 'bar', 'baz']
, а не список в списке. As-is, мне придется захватить args.multi[0]
перед обработкой, что не очень важно, но похоже на уродливую бородавку, и я хотел бы понять, почему она там.
Я делаю что-то глупо в add_argument
, или это просто неизбежная причуда?