在 python 程序中访问资源的正确方法是什么。
基本上在我的许多 python 模块中,我最终都会编写这样的代码:
DIRNAME = os.path.split(__file__)[0]
(...)
template_file = os.path.join(DIRNAME, "template.foo")
这没关系,但是:
- 如果我开始使用 python zip 包,它将中断
- 这是样板代码
在 Java 中,我有一个功能完全相同 — 但当代码位于一堆文件夹中和打包在 .jar
文件中时都有效。
Python 中是否有这样的函数,或者是否有我可能使用的任何其他模式。
原文由 jb. 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要查看使用 stdlib 中的 get_data 或来自 setuptools /distribute 的 pkg_resources。您使用哪一个可能取决于您是否已经使用 distribute 将您的代码打包为 egg。