Python - 如何将方法作为参数传递以从另一个库调用方法

时间:2018-03-04 03:23:02

标签: python python-3.x

我想传递一个方法作为参数,它将从另一个python文件中调用这样的方法,如下所示:

file2.py

def abc():
    return 'success.'

main.py

import file2
def call_method(method_name):
    #Here the method_name passed will be a method to be called from file2.py
    return file2.method_name()

print(call_method(abc))

我期望返回success.

如果在同一个文件(main.py)中调用方法,我注意到它是可行的。但是,对于上述情况,它涉及传递要从另一个文件调用的参数,我该怎么办?

1 个答案:

答案 0 :(得分:8)

您可以使用getattr使用如下字符串从模块获取函数:

import file2
def call_method(method_name):
    return getattr(file2, method_name)()

print(call_method('abc'))