如何调用用户从其他类实现的方法?

时间:2016-12-06 12:34:25

标签: python python-2.7

我为我的对象提供了一个指向'file.py'的路径,我需要调用一个名为'compress'的方法

file.py

def compress(arg):
    return arg-5

other.py

class Algorithm:
    def __init__(self, path):
        self.path = path #/PATH/TO/file.py

    def func(self, arg1):
        return self.path.compress(arg1)

当然这是一个虚拟的例子,但我如何以正确的方式实现func?它甚至可能吗?

1 个答案:

答案 0 :(得分:3)

使用importlib模块,您可以动态加载相应的路径,然后从该模块调用相应的函数!使用os.path的简单示例:

import importlib
my_module = importlib.import_module('os.path')
my_module.exists("/non_existing_path")

在这种情况下,您可能需要执行一些其他检查,例如文件存在和函数存在。