为什么需要同时导入 "import logging" 和 "import logging.config"?

53 投票
2 回答
30638 浏览
提问于 2025-04-15 19:05

难道不应该只用一个导入就能解决吗?比如说 import logging

如果我在我的脚本里不加 import logging.config,就会出现:

AttributeError: 'module' object has no attribute 'config'

2 个回答

2

这里我想给Thomas的回答再加一点解释。

logging是一个包,也就是一个文件夹。

进入这个logging文件夹,看看里面有什么文件:

config.py handlers.py __init__.py __pycache__

所以,在logging文件夹里有一个config.py文件,但为什么不能import logging.config呢?这是因为在logging/__init__.py里没有config这个命名空间。

79

logging 是一个包。包里的模块不会被导入,直到你(或者你程序里的某个部分)去导入它们。不过,你不需要同时写 import loggingimport logging.config:只写 import logging.config 就已经能让 logging 这个名字可用了。

撰写回答