Sonderzeichen in Funktionen verwenden: Python
Frage
Ich schreibe einen XMLRPC -Client, der einen in Ruby geschriebenen Server verwendet. Eine der Funktionen ist Framework.busy? (). Lassen Sie mich die Ruby -Version zeigen:
server.call( "framework.busy?" )
Nehmen wir also an, ich erstelle eine Instanz der ServerProxy -Klasse Say Server. Also, während sie Python benutze, um die Funktion beschäftigt zu nennen? Ich muss verwenden:
server.framework.busy?()
Dies führt zu einem Fehler:
SyntaxError: invalid syntax
Wie kann ich diese Funktion nennen? Oder lese ich den Ruby -Code falsch und implementiere ihn falsch.
Lösung
Ich musste nie XML-Methoden mit einem Fragezeichen anrufen (und ich vermute stark, dass es tatsächlich außerhalb der XML-RPC-Spezifikationen sein könnte), aber versuchen Sie Folgendes:
server.framework.getattr('busy?')()
Ich habe keine Ahnung, dass dies funktioniert, und Sie müssten ein Code -Beispiel veröffentlichen und einen Arbeitsserver haben, gegen den ich testen kann. :)
In jedem Fall ist es wahrscheinlich keine gute Idee, im Method -Namen ein Fragezeichen zu haben. Wenn Sie also den Ruby -Server auf etwas Schwierigeres ändern können, wäre dies hilfreich.