Есть ли способ сделать «скрытое» меню справки с помощью argparse?

Я работаю над сценарием для простого анализа спектральных данных на очень больших файлах данных. У меня есть несколько «опасных», но полезных позиционных аргументов argparse, которые я хотел бы скрыть от меню -h или --help. Я хочу, чтобы они отображались только при вызове «скрытой» команды справки, например, --secrethelp или чего-то еще. Есть идеи или подсказки, как это сделать?


person deppep    schedule 18.12.2018    source источник
comment
Похоже на вопрос в следующей ссылке: stackoverflow.com/questions/11114589/   -  person guru    schedule 18.12.2018
comment
см. ссылку, аргументы командной строки   -  person sahasrara62    schedule 18.12.2018
comment
@prashantrana Там нет ничего о скрытых опциях.   -  person Barmar    schedule 18.12.2018
comment
Скрыв параметры, как описано в этом вопросе, вы можете просто добавить свой собственный --secrethelp параметр, отображающий полную справку, не используя встроенную функцию справки.   -  person Barmar    schedule 18.12.2018
comment
@Barmar большое спасибо, это определенно решение! Я нашел связанный вопрос, но не думал просто о создании новой опции, отображающей полную справку :). Есть идеи, как сделать это более «элегантным» способом?   -  person deppep    schedule 18.12.2018
comment
Возможно, вы сможете что-то сделать с помощью настраиваемого средства форматирования справки, но я не уверен.   -  person Barmar    schedule 18.12.2018
comment
Скрытые позиции звучат опасно. Вам нужно будет сделать их nargs='?' (или '*'). И наличие более одного такого позиционного обозначения создает больше проблем. Я думаю, что скрытые опции имеют больше смысла.   -  person hpaulj    schedule 19.12.2018
comment
Что касается «--secrethelp», я думаю, что для этого потребуется много вашего собственного кода, возможно, с доступом к «частным» атрибутам. В argparse нет ничего, что могло бы переопределить help=SUPPRESS. Либо вам нужно обработать атрибут args.secrethelp после синтаксического анализа, либо создать собственный класс Action.   -  person hpaulj    schedule 19.12.2018