我有一个客户对象Client
。它有许多同步功能,我有一个装饰器,可以将其更改为异步功能。由于无法修改原始代码,因此我使用client.send_request = async_wrapper(client.send_request)
之类的代码来手动修饰所有这些功能。
但是问题是,一个手动修饰的函数显示包装器的签名,但没有修饰的函数。例如,如果我键入client.send_request
,则IDE将给我签名为send_request(*args, **kwargs)
,而不是给我签名为send_request(url, data, extra)
。
因此在开发过程中给了我很多困难。有什么方法可以使其正常工作吗?
我正在使用Pycharm,但是任何其他IDE都是可以接受的。