我已经构建了一个安装了许多外部文件的python包。我需要能够从随软件包安装的脚本中读取这些文件。我可以看到我可以在我的脚本中使用__file__
,它会返回如下内容:
/Library/Python/2.6/site-packages/M5-0.3.0-py2.6.egg/EGG-INFO/scripts/..
所以我可以导航到安装文件的位置(.egg目录的顶层),但我正在寻找一种更“标准”的方法来确定我的软件包的安装位置。
答案 0 :(得分:2)
你可能想要像这样的东西
pkgutil.get_data
功能。
如果你的包作为磁盘上的标准python包目录结构存在,它将读取相对于__file__
的资源,我认为它也会从压缩的egg中读取资源(尽管我没有我自己用它来。)
答案 1 :(得分:1)