我有以下函数,它接收响应,CallableInterface
对象和属性String
。
def assert_response(response, api, expectedResponse):
# api = self.Startup
# expectedResponse = "ERROR_NOT_SUPPORTED"
eval(api + "." + expectedResponse)
上面看到的行应该评估为属性调用:
self.Startup.ERROR_NOT_SUPPORTED
但是,我收到以下错误,因为expectedResponse
中包含的值未被扩展。
AttributeError: 'CallableInterface' object has no attribute 'expectedResponse'
有关如何解决此问题的任何建议?
答案 0 :(得分:1)
您应该使用getattr来访问对象属性:
getattr(api, expectedResponse)
如果api
是一个对象(即self.Startup
),哪个属性被命名为expectedResponse
的值,那就应该这样做。
但在此之前,请事先打印出来,确保expectedResponse
的内容实际上是您认为的内容。