我正在使用这样的块:
def served(fn) :
def wrapper(*args, **kwargs):
p = xmlrpclib.ServerProxy(SERVER, allow_none=True )
return (p.__getattr__(fn.__name__)(*args, **kwargs)) # do the function call
return functools.update_wrapper(wrapper,fn)
@served
def remote_function(a, b):
pass
将一系列 XML-RPC 调用包装到 python 模块中。在存根函数上调用“服务”装饰器以公开远程服务器上的操作。
我正在创建这样的存根,以便以后能够检查它们以获取有关函数的信息,特别是它的参数。
如所列,上面的代码不会将参数信息从原始函数传输到包装器。如果我检查,inspect.getargspec( remote_function )
那么我基本上得到一个空列表,而不是args=['a','b']
我所期望的。
我猜我需要functools.update_wrapper()
通过可选assigned
参数为调用提供额外的指导,但我不确定要向该元组添加什么以获得我想要的效果。
名称和文档字符串已正确传输到新函数对象,但有人可以告诉我如何传输参数定义吗?
谢谢。