python argparse: непризнанные аргументы

Ниже приведен мой Кодекс. Когда я запускаю parsePlotSens.py -s bw hehe , он показывает, что «хе-хе» – это нераспознанный аргумент. Однако, если я запустил parsePlotSens.py hehe -s bw , все в порядке. В идеале я бы хотел, чтобы он работал в обоих случаях. Какие-нибудь советы?

благодаря

 if __name__ == '__main__' : parser = argparse.ArgumentParser(prog='parsePlotSens'); parser.add_argument('-s', '--sort', nargs =1, action = 'store', choices = ['mcs', 'bw'], default='mcs', help=sorthelp) parser.add_argument('filename', nargs ='+', action = 'store') option = parser.parse_args(sys.argv) 

2 Solutions collect form web for “python argparse: непризнанные аргументы”

Не передавайте sys.argv как аргумент parse_args . Просто используйте

 option = parser.parse_args() 

Если вы передаете sys.argv в parse_args , то путь или имя самого скрипта является первым элементом в sys.argv и, таким образом, становится значением параметра option.filename . Тогда hehe становится неизвестным аргументом.

Если вы опускаете sys.argv тогда parse_args анализирует sys.argv как и ожидалось.

Кроме того, в качестве дополнения к ответу unutbu, хранение аргументов в словаре таким образом облегчает тесты:

 args = vars(parser.parse_args()) print args 

Печать словаря:

 {'sort': ['bw'], 'filename': ['hehe']} 

Подобно :

 if args['sort'] == 'bw': # code here ... 
  • argparse вызывает функцию после разбора других параметров
  • Настроить argparse для принятия цитируемых аргументов
  • Аргумент argparse сгенерировал справку, «metavar» с выбором
  • Как анализировать несколько под-команд с помощью python argparse?
  • Флаги переключателя Python argparse
  • типы путей каталога с помощью argparse
  • Модуль ArgParse Python: измените значение аргумента по умолчанию для вложенного аргумента
  • как сделать аргумент необязательным в python argparse
  •  
    Interesting Posts for Van-Lav

    Не удается обновить Scipy

    Какую библиотеку gps вы бы порекомендовали для python?

    Tkinter определяет раскладку клавиатуры

    Список списков объектов, ссылающихся на один и тот же объект в Python

    шаблон django if или statement

    Получить верхнюю часть n в каждой группе DataFrame в pyspark

    Создание диаграмм боке с интерактивными элементами управления в джанго

    Qt – получить длину пикселя строки в QLabel

    Лучшие практики Django: следует ли использовать ListView или обычный вид, если я хочу отобразить также список категорий и форму поиска?

    Предотвратить использование функции instancemethod в Python 2

    Загрузка изображений с помощью gevent

    Почему collection.OrderedDict использует try и исключает инициализацию переменных?

    Почему я добавляю элемент в один из списка в словаре, и все остальные также меняются?

    Python pandas условная замена строки на основе значений столбца

    Извлечение данных из tsv-файла python

    Python - лучший язык программирования в мире.