【问题标题】:using special characters in functions: Python在函数中使用特殊字符:Python
【发布时间】:2011-01-04 11:44:04
【问题描述】:

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

server.call( "framework.busy?" )  

假设我创建了一个 ServerProxy 类的实例,比如服务器。那么在使用python调用函数busy时呢?我需要使用:

server.framework.busy?()  

这会导致错误:

SyntaxError: invalid syntax  

如何调用这个函数?还是我读错了 ruby​​ 代码并错误地实现了它。

【问题讨论】:

    标签: python ruby xmlrpclib


    【解决方案1】:

    我从来不需要在其中调用带有问号的 XML 方法(我强烈怀疑它实际上可能在 XML-RPC 规范之外),但试试这个:

    server.framework.getattr('busy?')()
    

    我不知道这是否可行,您需要发布一个代码示例并拥有一个我可以测试的工作服务器。 :)

    无论如何,在方法名称中加上问号可能不是一个好主意,因此如果您可以将 Ruby 服务器修改为更健全的名称,那将很有帮助。

    【讨论】:

    • 你说的“忙”是对的?不是有效的 xml-rpc 方法名称。规范(xmlrpc.com/spec)说:“ 必须包含一个 子项,一个字符串,包含要调用的方法的名称。该字符串只能包含标识符字符,大写和小写-大小写 A-Z、数字字符、0-9、下划线、点、冒号和斜线。完全由服务器决定如何解释 methodName 中的字符。"
    • 这意味着这个答案对于调用名称中包含点、冒号和斜杠的方法仍然很有用。
    • 是的,我和程序员谈过了,他已经更改了服务器中的方法名称。感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 2014-01-08
    • 2019-11-11
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 2011-09-18
    • 2017-09-06
    • 1970-01-01
    相关资源
    最近更新 更多