Python: Не удалось получить список опций, которые были добавлены через 'add_option'? - PullRequest
0 голосов
/ 22 августа 2011

Моя часть кода выглядит следующим образом:

 parser.add_option("-h", "--help","-?",
                   action = "help",
                   help= """Print the help of the scipt"""
                 )

Когда я пытаюсь распечатать параметры, доступные для сценария, он возвращает пустой массив.

  optlist = [x.get_opt_string() for x in parser._get_all_options()[1:]]
  print optlist

При печати optlist печатаетсяпустой массив -> [].

Мне нужно напечатать массив со всеми доступными опциями.В этом случае массив, в котором хранятся значения: -h, --help и -?

1 Ответ

1 голос
/ 22 августа 2011

В Python 2.6.5 объекты optparse имеют недокументированные атрибуты _short_opts и _long_opts. Для ухабистого списка

[x._short_opts + x._long_opts for x in parser._get_all_options()]

Использование объединения списков в python для выравнивания списка

sum([x._short_opts + x._long_opts for x in parser._get_all_options()],[])
...