捆绑单独的python模块以创建一个;一揽子计划;
我一直在创建一些按用途组织的模块,每个模块都包含许多函数。我想将这些单独的模块捆绑到一个更大的“包”中,其他用户可以从共享位置导入 目前,我将所有模块都放在一个名为捆绑单独的python模块以创建一个;一揽子计划;,python,module,package,Python,Module,Package,我一直在创建一些按用途组织的模块,每个模块都包含许多函数。我想将这些单独的模块捆绑到一个更大的“包”中,其他用户可以从共享位置导入 目前,我将所有模块都放在一个名为python\u modules的文件夹中,并将此路径附加到os.path中,以便根据需要轻松导入各个模块 但是,我想导入一个包含所有模块的包,这样就不必单独导入每个模块。我知道我可以将所有模块放在一个文件中,但这似乎不是组织流程的好方法 目前,我必须在我的python\u modules文件夹中保存以下文件: __init__.py
python\u modules
的文件夹中,并将此路径附加到os.path
中,以便根据需要轻松导入各个模块
但是,我想导入一个包含所有模块的包,这样就不必单独导入每个模块。我知道我可以将所有模块放在一个文件中,但这似乎不是组织流程的好方法
目前,我必须在我的python\u modules
文件夹中保存以下文件:
__init__.py
load_data_functions.py
parse_data_functions.py
network_functions.py
counting_function.py
math_functions.py
...
...
other_functions.py
\uuuu init\uuuu.py
文件是空的,里面没有任何内容。其他模块内部都有各种功能,有些模块依赖于其他模块。例如,网络函数.py
依赖于加载数据函数.py
和解析数据函数.py
正如我所说,我想将所有这些模块打包成一个更大的包,以便与其他人共享,因此我们不必单独导入每个模块 一个包只是一堆模块。您已经有了一个
\uuuu init\uuuu.py
文件,因此python\u modules
已经是一个包了。您只需导入python\u模块
,然后从每个模块调用函数作为load\u data\u函数。一些函数()
,解析\u data\u函数。一些其他函数()
,假设“我想导入单个包”意味着您希望能够:
import python_modules
port = python_modules.network_functions.get_port()
您的\uuuu init\uuuu.py
文件应该如下所示:
from . import load_data_functions
from . import parse_data_functions
from . import network_functions
...
from .load_data_functions import *
from .parse_data_functions import *
from .network_functions import *
...
如果您希望能够做到:
import python_modules
port = python_modules.get_port()
您的\uuuu init\uuuu.py
文件应该如下所示:
from . import load_data_functions
from . import parse_data_functions
from . import network_functions
...
from .load_data_functions import *
from .parse_data_functions import *
from .network_functions import *
...
对于包中相互引用的模块,您可以使用相同的想法,例如,在network\u functions.py
的顶部,您希望从中放置。导入加载数据功能
。你应该避免循环导入