gpt4 book ai didi

python 装饰器丢失参数定义

转载 作者:太空宇宙 更新时间:2023-11-03 19:14:54 25 4
gpt4 key购买 nike

我正在使用这样的 block :

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 模块中。 “served”装饰器在 stub 函数上被调用,以公开远程服务器上的操作。

我创建这样的 stub 是为了以后能够检查它们以获取有关函数的信息,特别是其参数。

如所列,上面的代码不会将参数信息从原始函数传输到包装器。如果我使用 inspect.getargspec(remote_function ) 进行检查,那么我基本上得到一个空列表,而不是我所期望的 args=['a','b']

我猜我需要通过可选的signed参数为functools.update_wrapper()调用提供额外的指示,但我不确定到底要做什么添加到该元组以获得我想要的效果。

名称和文档字符串已正确传输到新函数对象,但有人可以建议我如何传输参数定义吗?

谢谢。

最佳答案

之前的问题 herehere建议decorator module可以做到这一点。

关于python 装饰器丢失参数定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11676348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com