我需要打包一堆html/css/etc。文件作为一个包:让我们称它们为“主题”。我这样做是为了让这些跨应用程序可用于多个/任意数量的应用程序。
我的模块是 WHEREEVER/virtualenv/lib/pythonVERSION/site-packages/package_name。
所有“主题”都位于 package_name 中名为“主题”的文件夹下
我不需要这些主题本身可以作为模块导入,我只需要参考它们在文件系统中的任何位置,我不确定协议是什么。我可以找到那条路径并根据需要传递它吗?我只需要知道,无论安装在哪里,我都可以在该包中找到一个目录并阅读其中的内容。
我猜,“是的”,答案很简单,但目前我还不清楚如何解决这个问题,或者是否有更好的方法我不知道。任何输入表示赞赏。
一些背景:
我正在尝试为 flask-fleem 创建一个模块加载器:
https://github.com/thrisp/fleem
编辑:
现在对我有用的答案是从包初始化文件中导出一个常量:
PACKAGE_THEMES = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'themes')
改进和/或更好的解决方案表示赞赏。