Why does argparse give me a list-in-a-list?

RMI может быть лучшим направлением, если необходимо поддержать сложное состояние.

25
задан Nicholas Knight 3 March 2011 в 04:59
поделиться

1 ответ

Вы звоните

parser.add_argument('multi', action='append', nargs='+')

И он принимает все аргументы и добавляет их как один элемент в мульти-список.

Если вы хотите использовать его как отдельные элементы, просто не используйте append

parser.add_argument('multi', nargs='+')

Из документов

'append' - хранит список и добавляет значение каждого аргумента к список. Это полезно, чтобы опция была указана несколько раз. Пример использования:

>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', action='append')
>>> parser.parse_args('--foo 1 --foo 2'.split())
Namespace(foo=['1', '2'])
33
ответ дан 28 November 2019 в 21:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: