使用数据文件设置Python包

时间:2014-05-27 12:44:08

标签: python setuptools

我的包中有一个.mat文件,我希望在构建包时包含该文件。我这样做

data_files=[('utide', ['utide/ut_constants.mat'])],

这构建得很好。我接下来的问题是,当我尝试使用scipy IO加载mat文件时,我不知道这个文件的位置,以及我应该如何编写它以使其正确。我只是找到文件buildpath并硬编码吗?还是有更多的pythonic方法来做到这一点?

对于任何有兴趣的人,code can be found here

1 个答案:

答案 0 :(得分:1)

由于ut_constants.mat将位于utide包目录中,您可以像这样指定其路径:

import utide
import os

matfile = os.path.join(os.path.dirname(os.path.abspath(utide.__file__)),
                       'ut_constants.mat')

如果您希望在matfile中定义__init__.py,那么您可以通过查看the special variable __file__:

找到已安装utide的位置
matfile = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                       'ut_constants.mat')