根据命令行参数动态调用类方法

Vivek GS

我需要基于命令行参数调用类方法

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章