我需要基于命令行参数调用类方法
params = sys.argv[1].split('.')
print params
['Abc', 'test']
suite.addTest(params[0](params[1]))
Traceback (most recent call last):
File "policy.py", line 407, in <module>
suite.addTest(params[0](params[1]))
TypeError: 'str' object is not callable
是他们以任何方式调用类方法。
在您的代码中,params[0]
仍然是string 'Abc'
。您需要将其转换为可以调用的类。
假设classAbc
在module中foo
。然后,您可以这样做-
import foo
MyTestClass = getattr(foo, params[0])
suite.addTest(MyTestClass(params[1])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句