Python 来自模块/导入包的路径

Python 来自模块/导入包的路径,python,module,package,Python,Module,Package,我需要把一堆html/css等文件打包成一个包:让我们称它们为“主题”。我这样做是为了让这些可以跨应用程序用于多个/任意数量的应用程序 我有一个模块,它是wherever/virtualenv/lib/pythonVERSION/site packages/package_name 所有“主题”都位于包_name中名为“主题”的文件夹下 我不需要这些主题本身作为模块导入,我只需要有一个它们在文件系统中的位置的引用,我不确定协议是什么。我能找到那条路并按我的需要传递吗?我只需要找出,无论包安装在哪

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

  • 我有一个模块,它是wherever/virtualenv/lib/pythonVERSION/site packages/package_name

  • 所有“主题”都位于包_name中名为“主题”的文件夹下

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

    我猜,“是的”,答案很简单,但我现在还不清楚该怎么做,或者是否有更好的方法我不知道。欢迎您的任何意见

    一些背景:

    我正在尝试为flask fleem创建模块加载程序:

    编辑:

    目前对我有效的答案是从package init文件中导出一个常量:

    PACKAGE_THEMES=os.path.join(os.path.dirname(os.path.abspath(_文件__)),'THEMES')


    欢迎改进和/或更好的解决方案。

    如果您可以导入
    软件包\u name
    ,则可以确定安装软件包的目录(
    软件包\u dir
    ),从而确定主题目录的位置

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

    如果可以导入
    package\u name
    ,则可以确定安装包的目录(
    package\u dir
    ),从而确定主题目录的位置

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

    我只是来记录我得出的答案,非常类似于这个。我只是来记录我得出的答案,非常类似于这个。