为什么需要同时导入 "import logging" 和 "import logging.config"?
难道不应该只用一个导入就能解决吗?比如说 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 logging
和 import logging.config
:只写 import logging.config
就已经能让 logging
这个名字可用了。