本问题已经有最佳答案,请猛点这里访问。
我定义了以下字符串,它们指定了python模块名、python类名和静态方法名。
1 2 3 | module_name ="com.processors" class_name ="FileProcessor" method_name ="process" |
我想调用method_name变量指定的静态方法。
如何在python 2.7+中实现这一点
使用
使用
你可以这样做
1 2 3 4 | module = __import__(module_name) cls = getattr(module, claas_name) method = getattr(cls, method_name) output = method() |
试试这个:
1 2 3 4 5 6 7 8 9 10 | # you get the module and you import module = __import__(module_name) # you get the class and you can use it to call methods you know for sure # example class_obj.get_something() class_obj = getattr(module, class_name) # you get the method/filed of the class # and you can invoke it with method() method = getattr(class_obj, method_name) |
您可以为此使用importlib。尝试
注意,如果您要通过import module.class.method导入这个连接的字符串,那么它应该与您所要导入的字符串完全相同