如何通过字符串调用模块的函数

时间:2016-12-06 22:03:18

标签: python python-2.7

我有一个像这样的模块

# mymodule.py
def myfun():
   print "hello"

像这样被召唤

# main.py
import mymodule

def run(funcname):
    mymodule[funcname]()

在像这样结构化的目录中

./
|
|--mymodule/
   |--__init__.py
   |--mymodule.py
|--main.py

当我这样调用run的{​​{1}}方法

main.py

我收到此错误:

run("myfun")

理解。如果这有效,我会感到惊讶。问题是,我需要能够通过字符串调用模块的方法。这可能吗?

1 个答案:

答案 0 :(得分:2)

试试这个。

def run(funcname):
    getattr(mymodule, funcname)()