Проблема с парсингом аргументов с argparse
Имеется одна проблема. Как можно при парсинге аргумента -l 1,2,3,4 вернуть не строку, а список из этих чисел?
def get_args():
parse = argparse.ArgumentParser()
parse.add_argument('-l', '--list', dest="list_for_bubble", help='List for Bubble Sorting')
options = parse.parse_args()
return options
Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
Вместо
return options
используйте
return options.list_for_bubble.split(",")
Значением options.list_for_bubble будет для вашего аргумента -l 1,2,3,4строка '1,2,3,4', которую функция split() превратит в список ['1', '2', '3', '4'].
Когда вы хотите вернуть список чисел, т.е. список [1, 2, 3, 4], используйте команду
return [int(i) for i in options.list_for_bubble.split(",")]
или — более понятно — 2 команды
list_of_strings = options.list_for_bubble.split(",")
return list(map(int, list_of_strings))