Использование специальных символов в функциях: Python
Вопрос
Я пишу клиент XMLRPC, который использует сервер, написанный в Ruby. Одной из функций является Framework.busy? (). Позвольте мне показать версию Ruby:
server.call( "framework.busy?" )
Итак, давайте предположим, что я создаю экземпляр сервера ServerProxy Class Say Server. Итак, используя Python, чтобы назвать функцию занятым? Мне нужно использовать:
server.framework.busy?()
Это приводит к ошибке:
SyntaxError: invalid syntax
Как я могу назвать эту функцию? Или я неправильно читаю код Ruby и неправильно реализую его.
Решение
Мне никогда не приходилось вызывать методы XML с вопросительным знаком (и я сильно подозреваю, что это может быть на самом деле вне спецификаций XML-RPC), но попробуйте:
server.framework.getattr('busy?')()
Я понятия не имею об этом, и вам нужно будет опубликовать пример кода и иметь рабочий сервер, с которым я мог бы протестировать. :)
В любом случае, вероятно, не очень хорошая идея иметь знак вопроса в имени метода, поэтому, если вы сможете изменить сервер Ruby на что -то более вменяемое, это было бы полезно.