获取类方法的参数名称

时间:2018-11-07 00:13:57

标签: python python-3.x

嗨,我正在为类方法编写装饰器,但无法获取参数名称。是否可以获取类方法的参数名称?

我过去使用过inspect.getargspec()获取实例方法上的参数名称。但是由于类方法不可调用,因此无法正常工作。

这是我的示例代码

class api_request_handler:
    def handle_connection_errors(func):
        @wraps(func)
        def check_for_errors(*args, **kwargs):
            print ("Calling DEC")
            data = func(*args, **kwargs)
            if data.status_code != 200 and data.status_code != 204:
                logHangler.write_command_logs('<random text>')
            return data
        return check_for_errors

    @handle_connection_errors
    @classmethod
    def send_request_and_get_response(cls,method,url,data=None,headers=None):
        try:
            if method == 'GET':
                cls.data = requests.get(url, headers=headers)
            elif method == 'POST':
                cls.data = requests.post(url,data=data,headers=headers)
       <BLAH BLAH BLAH>
        except requests.exceptions.ConnectionError:
            print ('Connection Error for URL: '+url)
            sys.exit(2)
        except UnicodeError:
            print('Connection Error for URL: ' + url)
            sys.exit(2)
        return cls.data

0 个答案:

没有答案