当前位置: 首页 > 知识库问答 >
问题:

Python:从importlib模块导入子模块

魏君博
2023-03-14

我有一个这样的目录:

parent.py ------+
    child1.py---+
    child2.py---+
    ... etc

我可以这样导入父模块:

importlib.import_module("父")

那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么?我已经尝试了parent.child1importlib.import_module(孩子1,父)parent.import_module('孩子1')等。

有什么建议吗?

谢谢

共有2个答案

刘瀚
2023-03-14

您可以为此使用可选参数包:

importlib.import_module("child1", package="parent")

文件参考:https://docs.python.org/3.7/library/importlib.html#importlib.import_module

侯兴为
2023-03-14

您可以尝试以下方式组织文件:

parent (directory)-+
    __init__.py ---+
    child1.py   ---+
    child2.py   ---+

在init中。您可以从子*文件导入,并且可以从父模块的模块外部导入。

示例\uuuu init\uuuu。py。它也可以是空的,但必须存在。

from child1 import foo
from child2 import bar

从外部使用:

from parent import foo
or
from parent.child1 import foo

这并没有直接回答你的问题。但是,在上述方式重新组织文件之后,请尝试再次使用Imglib。

 类似资料:
  • 问题内容: 我已尝试找到有关最佳使用还是全面的指南。我刚开始使用Python,并且正在尝试着眼于最佳实践。 基本上,我希望有人能分享他们的经验,其他开发人员有什么喜好,以及避免遇到麻烦的最佳方法是什么? 问题答案: 和之间的区别主要是主观的。选择最喜欢的一个,并在使用中保持一致。这里有一些要点可以帮助你做出决定。 优点: - 减少维护你的import报表。无需添加任何其他导入即可开始使用模块中的另

  • 问题内容: 已经使用了平面软件包,我没想到嵌套软件包会遇到这个问题。这是… init .py的内容 这两个和是空的。 内容 内容(3个版本) 版本1 这是导入事物的坏方法和不安全方法(批量导入所有内容),但是它可以工作。 版本2 一种逐项导入的更安全的方法,但是失败了,Python不希望这样:失败,并显示消息:“没有名为模块的模块”。但是…… ……说。所以这是一个模块,但不是一个模块/ -P 8-

  • 我在Pycharm中有一个python项目,其中有一个嵌套的Git子模块。以下是文件夹结构: 中的导入结构如下: 但是,Pycharm没有意识到这一点,而是希望我拥有以下内容: 这是有问题的,因为我不想更改中的所有导入(这似乎不是一个好的实践,也不可扩展),而且中有破折号,这对于导入来说不是有效的Python语法(我无法重命名repo)。 我还需要一种从我的代码中导入的方法。像这样的东西: 但当然

  • 我有一个使用git子模块的项目。在我的python文件中,我想在子模块项目中使用另一个python文件中的函数。 为了工作,我必须将init.py文件添加到路径中的所有子文件夹中。我的文件夹树如下: 有没有办法让它在不接触mygitsubmodule的情况下工作? 谢谢

  • 问题内容: 我想将子文件夹导入为模块。因此,每个子文件夹都包含一个。我的文件夹结构是这样的: 在我的主脚本中,我导入 在此工厂文件中,我包括以下子模块: 如果我调用我的foofactory会收到错误消息,则该python无法导入子模块foo1和foo2: 问题答案: 无需与您或此处混淆。 为了在包中正确使用绝对导入,您还应该包括“ root”包名,例如: 或者您可以使用相对导入:

  • 本文向大家介绍Python中标准模块importlib详解,包括了Python中标准模块importlib详解的使用技巧和注意事项,需要的朋友参考一下 1 模块简介 Python提供了importlib包作为标准库的一部分。目的就是提供Python中import语句的实现(以及__import__函数)。另外,importlib允许程序员创建他们自定义的对象,可用于引入过程(也称为importer