gpt4 book ai didi

python - 模块/导入包的路径

转载 作者:太空宇宙 更新时间:2023-11-03 18:59:22 27 4
gpt4 key购买 nike

  1. 我需要打包一堆html/css/等。文件作为一个包:我们称它们为“主题”。我这样做是为了让这些跨应用程序可用于多个/任意数量的应用程序。

  2. 我的模块位于 WHEREEVER/virtualenv/lib/pythonVERSION/site-packages/package_name。

  3. 所有“主题”都位于 package_name 中名为“themes”的文件夹下

我不需要将这些主题作为模块本身导入,我只需要引用它们在文件系统中的位置,并且我不确定协议(protocol)是什么。我可以找到那条路径并在需要时将其传递吗?我只需要找出,无论软件包安装在哪里,我都可以找到该软件包中的一个目录并读取其中的内容。

我猜,“是的”,答案很简单,但目前我还不清楚如何解决这个问题,或者是否有更好的方法我不知道。任何意见表示赞赏。

一些背景:

我正在尝试为 Flask-fleem 创建一个模块加载器:

https://github.com/thrisp/fleem

编辑:

目前对我有用的答案是从包初始化文件中导出一个常量:

PACKAGE_THEMES = os.path.join(os.path.dirname(os.path.abspath(__file__)), '主题')

赞赏改进和/或更好的解决方案。

最佳答案

如果您可以导入 package_name,那么您就可以确定软件包的安装目录 (package_dir),从而确定主题目录所在的位置。

import os
import package_name

package_dir = os.path.dirname(package_name.__file__)
theme_dir = os.path.join(package_dir, 'themes')

关于python - 模块/导入包的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16403537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com