我有一个名为Python项目osinttool
,其中包含一个名为osinttool
.py文件的文件夹。在此文件夹中,我有一个名为database的文件夹,其中包含一个名为db.py的文件,并且有一些函数可以在数据库中创建条目,删除它们等等。在我的其他文件中,我只是这样导入,'from database import db'
所以效果很好。
问题是,db.py中有很多代码,我想拆分代码,以便每个不同的资源都有自己的文件,但是我仍然只想导入一个模块以使用所有这些数据库功能。如果我什至不必更改使用DB模块的文件中的任何内容,那就太好了。
我该怎么办?
我建议将db
其本身转换为具有以下目录结构__init__.py
的程序包,包括提供程序包公共API的文件。
- db
- __init__.py
- dbtools.py
假设您dbtools.py
的db
包中有一个模块,它定义了一个function initialize_db_connection
。然后,您可以__init__.py
在相同级别创建一个文件,其内容如下:
from .dbtools import initialize_db_connection
然后from db import initialize_db_connection
,即使函数在软件包的模块内,也可以将其导入为。
在已经导入为的模块中from database import db
,您的功能可以通过来访问db.initialize_db_connection
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句