将所有模块导入包中?

Skamah One

这是我的文件层次结构:

|--main.py
|--package/
   |--__init__.py
   |--a.py
   |--b.py

现在我想做的是这样的:

# main.py
from package import *
print(package.a.MyClass)
print(package.b.my_function)

所以基本上我希望它自动导入package包中的所有内容。这可能吗?我宁愿不必手动编写导入,因为我希望它是“将文件拖放到此处,就算完成了”的系统。

詹姆斯·米尔斯

我建议使用Python的pkgutil.iter_modules

例子:

import pkgutil


for module_loader, name, ispkg in pkgutil.iter_modules(["/path/to/module"]):
    ...

您对迭代子模块的处理取决于用户。

另一种常用方法是使用pkg_resources,您也可以查看它,我相信它是setuptools的一部分

更新:幼稚的方法是使用__import__os.lsitdir()

import os

def load_modules(pkg):
    for filename in os.listdir(os.path.dirname(pkg.__file__)):
        if filename.endswith(".py"):
            m = __import__("{}.{}".format(pkg.__name__, os.path.splitext(filename)[0]))

注意:这未经测试,但应该给您一个大概的想法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从包中导入所有模块

来自分类Dev

如何导入名称中包含点的包中的所有模块?

来自分类Dev

将模块中的所有对象作为模块中的名称导入的大多数pythonic方法

来自分类Dev

将目录中的所有文件作为模块导入,并调用类方法

来自分类Dev

为什么__init__.py将文件夹中的所有文件作为模块导入?

来自分类Dev

将模块内的所有函数和类导入到python类中

来自分类Dev

Javascript将文件中的所有模块作为全局变量导入

来自分类Dev

如何将文件夹中的所有文件作为模块导入并将所有文件作为对象导出?

来自分类Dev

IntelliJ Idea 14:如何将文件夹树中的所有现有构思模块导入项目中

来自分类Dev

Java Import通配符未导入包中的所有内容

来自分类Dev

python将所有模块导入到一个python文件中,我们可以将其导入另一个文件中?

来自分类Dev

导入模块以将类分组在一起是否有缺点,而不是将所有类放入Python中的一个文件中?

来自分类Dev

子包中导入模块中的错误

来自分类Dev

软件包中的python导入模块

来自分类Dev

子包中导入模块中的错误

来自分类Dev

Python导入包中的模块行为

来自分类Dev

导入运行模块中的所有代码,而不仅仅是导入的功能

来自分类Dev

为什么简单地导入python模块会执行该模块中存在的所有内容?

来自分类Dev

无法导入包“没有名为<模块名称>的模块”

来自分类Dev

无法导入包“没有名为<模块名称>的模块”

来自分类Dev

将类导入项目的所有类中

来自分类Dev

VBA - 将 SQL 表中的所有行导入 Excel

来自分类Dev

如何有效地将同一模块导入python中的多个子包

来自分类Dev

将所有变量从另一个模块导入字典python

来自分类Dev

Python是否在模块路径中导入所有模块?

来自分类Dev

如何从目录中的所有模块动态导入所有变量并将它们放在列表中?

来自分类Dev

Webpack:将动态导入的模块拆分为单独的块,同时将库保留在主捆绑包中

来自分类Dev

导入模块,用于node.js中module.exports的所有方法

来自分类Dev

如何在Angular 9中导入所有Angular Material模块

Related 相关文章

  1. 1

    从包中导入所有模块

  2. 2

    如何导入名称中包含点的包中的所有模块?

  3. 3

    将模块中的所有对象作为模块中的名称导入的大多数pythonic方法

  4. 4

    将目录中的所有文件作为模块导入,并调用类方法

  5. 5

    为什么__init__.py将文件夹中的所有文件作为模块导入?

  6. 6

    将模块内的所有函数和类导入到python类中

  7. 7

    Javascript将文件中的所有模块作为全局变量导入

  8. 8

    如何将文件夹中的所有文件作为模块导入并将所有文件作为对象导出?

  9. 9

    IntelliJ Idea 14:如何将文件夹树中的所有现有构思模块导入项目中

  10. 10

    Java Import通配符未导入包中的所有内容

  11. 11

    python将所有模块导入到一个python文件中,我们可以将其导入另一个文件中?

  12. 12

    导入模块以将类分组在一起是否有缺点,而不是将所有类放入Python中的一个文件中?

  13. 13

    子包中导入模块中的错误

  14. 14

    软件包中的python导入模块

  15. 15

    子包中导入模块中的错误

  16. 16

    Python导入包中的模块行为

  17. 17

    导入运行模块中的所有代码,而不仅仅是导入的功能

  18. 18

    为什么简单地导入python模块会执行该模块中存在的所有内容?

  19. 19

    无法导入包“没有名为<模块名称>的模块”

  20. 20

    无法导入包“没有名为<模块名称>的模块”

  21. 21

    将类导入项目的所有类中

  22. 22

    VBA - 将 SQL 表中的所有行导入 Excel

  23. 23

    如何有效地将同一模块导入python中的多个子包

  24. 24

    将所有变量从另一个模块导入字典python

  25. 25

    Python是否在模块路径中导入所有模块?

  26. 26

    如何从目录中的所有模块动态导入所有变量并将它们放在列表中?

  27. 27

    Webpack:将动态导入的模块拆分为单独的块,同时将库保留在主捆绑包中

  28. 28

    导入模块,用于node.js中module.exports的所有方法

  29. 29

    如何在Angular 9中导入所有Angular Material模块

热门标签

归档