我编写了一个 Python 包,其中包含一个 bsddb 数据库,其中包含一个用于更耗时的计算的预计算值。为简单起见,我的安装脚本将数据库文件安装在与访问数据库的代码相同的目录中(在 Unix 上,类似于 /usr/lib/python2.5/site-packages/mypackage/)。
如何存储数据库文件的最终位置以便我的代码可以访问它?现在,我正在使用基于__file__
访问数据库的模块中的变量的 hack:
dbname = os.path.join(os.path.dirname(__file__), "database.dat")
它有效,但似乎...... hackish。有一个更好的方法吗?我想让安装脚本从 distutils 模块中获取最终安装位置,并将其填充到“dbconfig.py”文件中,该文件与访问数据库的代码一起安装。