我的包中有一个.mat文件,我希望在构建包时包含该文件。我这样做
data_files=[('utide', ['utide/ut_constants.mat'])],
这构建得很好。我接下来的问题是,当我尝试使用scipy IO加载mat文件时,我不知道这个文件的位置,以及我应该如何编写它以使其正确。我只是找到文件buildpath并硬编码吗?还是有更多的pythonic方法来做到这一点?
对于任何有兴趣的人,code can be found here。
答案 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')