Вы, кажется, путаете переменные.FLAGS.Ncolor - это значение, указанное в командной строке.Например, FLAGS.Ncolor = 5 (значение по умолчанию в вашем коде будет 2).В приведенном выше коде я бы добавил переменную COLORS:
p=argparse.ArgumentParser()
p.add_argument('--Ncolor','-nc', default=2, type=int, help='Number of colors')
FLAGS=p.parse_args()
colors = [c for c in range(1,FLAGS.Ncolor+1)]
for c in colors:
print ("value is %d" % c)
, чтобы вы получили список цветов с нужным количеством значений.
Я думаю, вы не правильно поняли, что делает argparse вкод и что вы получаете от p.parse_args ().Посмотрите argparse doc, например: ссылка
, если вы хотите добавить числа из командной строки напрямую, что вы могли бы сделать (обратите внимание на новый аргумент 'nargs = "+"' в add_argument ()):
p=argparse.ArgumentParser()
p.add_argument('--Ncolor','-nc', default=2, type=int, nargs='+',help='Number of colors')
FLAGS=p.parse_args()
for c in FLAGS.Ncolor:
print ("value is %d" % c)
Надеюсь, что поможет
Затем вы можете сделать что-то подобное в CLI:
python your_script.py -nc 1 2 3 8 100 255
Best