2015-11-12 3 views
4

У меня есть следующие вариантыPython вариант парсер перезапись «-h»

parser = OptionParser() 
parser.add_option('-a', '--all', action='store_true', dest='all', help='writes all header information') 
parser.add_option('-h', '--file-header', action='store_true', dest='head', help='prints the elf file header information') 
parser.add_option('-l', '--program-header', action='store_true', dest='prog', help='prints the program header') 
parser.add_option('-S', '--section-header', action='store_true', dest='sec', help='prints the section header') 

При запуске сценария я получаю сообщение об ошибке:

optparse.OptionConflictError: option -h/--file-header: conflicting option string(s): -h 

Я знаю, обычно -h зарезервирован для отображения Помогите. Но я пытаюсь написать чтение файлов ELF для некоторых специальных файлов эльфа, и поэтому я хочу использовать те же команды, что и readelf. И readelf использует -h для печати информации заголовка.

Есть ли возможность перезаписать параметр -h в парсере параметров или это исправлено?

ответ

8

При создании парсера перейдите add_help_option=False. Тогда вы сможете определить это самостоятельно:

parser = OptionParser(add_help_option=False) 
Смежные вопросы