如何安全地访问与python模块捆绑在一起的数据文件?

时间:2011-12-02 23:09:18

标签: python packages distutils python-module

假设我的python包中包含相同的数据文件。

我理解馏分不建议使用__file__,因为如果您的模块位于egg文件中,您将无法获得有效路径。

现在,我应该在oder中使用哪种方法来读取这些文件,在鸡蛋内部或外面?

1 个答案:

答案 0 :(得分:2)

使用评论中链接的其他问题,我得到了一个适用于 Python 2.6 + 的解决方案。特别是在我自己的模块中,我有像这样的代码和数据文件:

mymod/
|
| __init__.py
| code.py
| data.dat

要访问code.py中的data.dat,我这样做了:

import pkgutil
def get_data():
    return pkgutil.get_data('', 'data.dat')