gpt4 book ai didi

python - 为什么导入 python 模块不导入嵌套模块?

转载 作者:太空狗 更新时间:2023-10-29 17:55:35 25 4
gpt4 key购买 nike

如果我这样做:

import lxml 

在 python 中,lxml.html 没有导入。例如,我无法调用 lxml.html.parse() 函数。为什么会这样?

最佳答案

在 Python 中导入模块或包在概念上是一个简单的操作:

  1. 找到导入对应的.py文件。这涉及 Python 路径和一些其他机制,但会导致找到特定的 .py 文件。

  2. 对于import中的每一级目录(import foo.bar.baz有两级),找到对应的__init__.py文件,并执行.执行它只是意味着运行文件中的所有顶级语句。

  3. 最后,.py 文件本身(在本例中为 foo/bar/baz.py)被执行,这意味着所有顶级语句都被执行。由于该执行而创建的所有全局变量都被捆绑到一个模块对象中,而该模块对象是导入的结果。

如果这些步骤都没有导入子包,那么这些子包不可用。如果他们确实导入了子包,那么它们是可用的。包作者可以随心所欲。

关于python - 为什么导入 python 模块不导入嵌套模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303179/

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