Я использую OptionParser для получения некоторых параметров командной строки для скрипта. У меня есть следующий в моем сценарии:Доступ к элементу объекта python, который является зарезервированным ключевым словом
parser.add_option("--pass", help="password used for authentication")
(options, args) = parser.parse_args()
OptionParser принимает все варианты и помещает их в качестве имени членов на объекте. Таким образом, чтобы получить доступ к опции в 'pass', мне пришлось бы ссылаться на options.pass. Это порождает исключение, поскольку pass является зарезервированным ключевым словом (я предполагаю ... я python n00b).
Как получить доступ к этому члену, чтобы получить данные? Я знаю, что могу изменить имя опции, но мне любопытно, как это сделать, не меняя имя.
Wow. Звучит как ошибка. – Elazar
@ Элазар: Что? Что вы можете использовать ключевое слово для имени атрибута? Помните, по сути, атрибуты - это просто словарь, так что не удивительно, что они могут иметь довольно произвольные имена - просто синтаксически они не могут быть выражены в точечной нотации. – FatalError
Тот факт, что объект может иметь атрибут, который не может быть доступен с использованием точечной нотации (даже из его собственных методов), звучит как ошибка. Там просто нет намеренной «функции». Что случилось с 'x.pass'? Если вы не разрешаете это, вы должны добавить явную проверку в словарь. О, это слишком дорого? поэтому разрешите это. При необходимости измените грамматику. – Elazar