在主程序中我有
import medallia_utils
from collections import defaultdict
Opers = defaultdict(int)
稍后,在此程序中,我将在Medallia_utils中调用称为Word_checker的函数。
我想在Medallia_utils内定义的函数word_checker中操纵字典变量操作,所以我想将其声明为全局。
当我在Medallia_utils内部执行此操作时:
def word_checker(name, comment):
import re
from collections import defaultdict
global Opers
系统说
NameError: global name 'Opers' is not defined
我还尝试通过执行
在功能word_checker之外的medallia_utils中在全球范围内定义此变量global Opers
或
global __Opers__
,但到目前为止什么都没有。我遇到相同的错误。
如何使此操作的语法修复是什么?
没有可以使此工作的"语法修复"。如果要使用另一个模块中定义的变量,则需要导入它。
在将其声明为全局之后,您需要使变量保持某些内容。
global name
name = 'bob'