我开发了一个包含/模块/功能结构的项目,类似于这个:
project/
│--mainfunc.py
|
└───functions/
│--__init__.py
|--func_caller.py
│
├───subfolder1/
│ │--__init__.py
│ │--func11.py
│ │--func12.py
│
└───subfolder2/
│--__init__.py
|--func21.py
|--func22.py
每个funcXX.py
模块都包含一个Python函数,名为eg。:
# /project/functions/subfolder1/func11.py
def do_func11(args):
# Do something
return some_value
func_caller.py
文件一次调用一个funcXX.py
模块中定义的函数。 func_caller.py
的顶部(所有导入的位置)如下所示:
from subfolder1.func11 import do_func11 as df11
from subfolder1.func11 import do_func12 as df12
from subfolder2.func21 import do_func21 as df21
from subfolder2.func22 import do_func22 as df22
这似乎是一种不必要的复杂方法。我只想在funcXX.py
模块中命名函数main()
,以便能够导入它们:
import subfolder2.func22 as df22
但结果是:
TypeError: 'module' object is not callable
这样做的正确方法是什么?
答案 0 :(得分:1)
试试这个:
from subfolder2.func22 import name_of_func