在函数中使用特殊字符:Python

sat*_*ran 2 ruby python xmlrpclib

我正在编写一个xmlrpc客户端,它使用一个用ruby编写的服务器.其中一个功能是framework.busy?().让我展示一下ruby版本:

server.call( "framework.busy?" )  
Run Code Online (Sandbox Code Playgroud)

因此,假设我创建一个ServerProxy类的实例,即服务器.那么使用python来调用函数忙吗?我需要用:

server.framework.busy?()  
Run Code Online (Sandbox Code Playgroud)

这会导致错误:

SyntaxError: invalid syntax  
Run Code Online (Sandbox Code Playgroud)

我怎么称呼这个功能?或者我读错了ruby代码并错误地实现它.

Len*_*bro 6

我从来没有使用问号调用XML方法(我强烈怀疑它可能实际上是在XML-RPC规范之外),但试试这个:

server.framework.getattr('busy?')()
Run Code Online (Sandbox Code Playgroud)

我不知道这有用,你需要发布一个代码示例,并有一个我可以测试的工作服务器.:)

在任何情况下,在方法名称中都有一个问号可能不是一个好主意,所以如果你可以将Ruby服务器修改为更合理的东西,那将会很有帮助.

  • 你说"忙吗?" 不是有效的xml-rpc方法名称.规范(在http://www.xmlrpc.com/spec上)说:"<methodCall>必须包含一个<methodName>子项,一个字符串,包含要调用的方法的名称.字符串可能只有包含标识符字符,大写和小写字母AZ,数字字符,0-9,下划线,点,冒号和斜杠.完全由服务器决定如何解释methodName中的字符." (3认同)