Python 全局范围变量显示“0”;未解析引用“;

Python 全局范围变量显示“0”;未解析引用“;,python,python-3.x,Python,Python 3.x,我有以下代码: import json import os from botocore.vendored import requests from custom_validator import CustomValidator dev_mode = 'DEV' in os.environ access_token = None if dev_mode: import test_config as config else: import config as config de

我有以下代码:

import json
import os
from botocore.vendored import requests
from custom_validator import CustomValidator

dev_mode = 'DEV' in os.environ
access_token = None

if dev_mode:
    import test_config as config
else:
    import config as config

def myfunc(data):
     if not (access_token):
         .....
但是在
myfunc
内部,我在尝试使用
access\u令牌时遇到了
未解析的引用
错误。 即使我在上面的初始化中将
global
放在前面,我也会得到:

全局变量“access_token”在模块级别中未定义

我有点困惑——为什么会发生这种情况,我该如何解决


使用Python 3.6。

请发布包括堆栈跟踪在内的整个错误消息。仅此而已。。我在PyCharm.Code中了解到了这一点,请检查导入中的内容,尤其是config由于Python的LEGB变量作用域规则()而发生了这种情况。在if条件之前,您需要使用
全局访问\u令牌
语句。为了访问/修改函数中的全局变量,您需要告诉Python它是一个全局变量,否则它将在赋值之前引发一个错误
局部变量“access\u token”,或者创建一个局部变量(在赋值的情况下)。