在Python中正确的函数命名和导入

时间:2016-02-08 00:10:34

标签: python python-import

我开发了一个包含/模块/功能结构的项目,类似于这个:

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

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

试试这个:

from subfolder2.func22 import name_of_func