PyDoc 定位方法找到 class,但方法不存在?

PyDoc locate method finds class, but the methods are not there?

我有一个名为 customclass 的基础 class,它动态加载第二个 class 并在其上调用方法。我在这里使用第二个答案:How to dynamically load a Python class 来实现这个,在我的自定义 class 中动态加载第二个 class 的方法如下:

def executedf2in(self, dfin1, dfin2):
    custom_class = locate(self.custom_class_name)
    dfresult = custom_class.df2in(dfin1, dfin2, self.custom_params)

这里是 custom_class 代码:

class CustomWork(object):

    def df2in(self, df1, df2, custom_params):
        dfchanged = pd.concat([df1, df2], sort=True)

        return dfchanged

我收到这个错误:

File "/home/david/git/testapp/app/etl/customclass.py", line 54, in executedf2in
dfresult = custom_class.df2in(df1, df2, self.custom_params)
AttributeError: 'module' object has no attribute 'df2in'

当我检查创建的 CustomWork 实例时,它显示在检查 window 的特殊变量下,它在 CustomWork class

下没有显示任何函数
<module 'app.test.custom_work_test' from '/home/david/git/testapp/app/test/custom_work_test.py'>
    <class 'app.test.custom_work_test.CustomWork'>

如何使用其中定义的函数动态加载 class?

最后发现locate无法实例化一个class with function,只是实例化了class。所以我将我想动态加载的 class 转换为一个简单的模块,然后将函数实例化并可执行。