管理嵌入在python模块中的配置文件的正确方法是什么。
我有一个执行某些任务(即集中式日志记录)的python模块(例如my_py_logger)。它打算由团队开发的其他python应用程序使用。将其导入python应用程序(例如,my_py_app_a)后,开发人员便可以在日志记录模块中调用一个初始化为日志记录模块的方法。此方法读取配置文件。该配置文件位于my_py_logger软件包中。
当我从另一个包中调用此方法时,python无法找到配置文件,因为根文件夹已从my_py_logger的根源文件夹更改为my_py_app_a的根源文件夹。
my_py_logger
__init__.py
config/
default.conf
init_logger.py
my_py_app_a
__init__.py
app.py
我试图在my_py_logger模块中使用importlib.import_module(__name__)
来获取my_py_logger中主文件的绝对路径,因此我可以从技术上从该字符串/路径中提取父目录并连接“ ../config/default” .conf”,但这感觉是一个糟糕的解决方案。我相信有更好的方法来处理这种情况。也许将其作为配置文件不是正确的解决方案,但我确定我不是第一个在python中尝试此配置的人。
什么是正确的解决方案?