python 全局变量 'logger' 在模块级别未定义
时间: 2024-04-13 18:10:23 浏览: 115
这个错误通常是因为在使用 logger 变量之前没有定义它。在 Python 中,如果你在函数内部引用一个变量,Python 会首先查找该变量是否是局部变量,如果不是,它会查找是否是全局变量。如果变量既不是局部变量也不是全局变量,Python 会抛出 NameError 异常。
对于全局变量,你需要在模块级别定义它。在使用 logger 变量之前,你应该在模块级别定义它,例如:
```python
import logging
logger = logging.getLogger(__name__)
```
这将定义一个名为 logger 的全局变量,并将其初始化为一个日志记录器对象。如果你需要在函数内部使用它,你需要在函数中声明它为全局变量,例如:
```python
def my_function():
global logger
logger.debug("debug message")
```
这将告诉 Python,在函数内部使用的 logger 变量是全局变量,而不是局部变量。
阅读全文