我是python的新手,我被这个错误困扰了。 我有一个包含三个类的python脚本,它们在开始时导入。但是当我尝试在类中的函数中使用re.search或re.sub时,它会给出错误“未定义全局名称”。当我在方法中编写import re时解决了这个问题。
我做错了什么?
import re
class Temp:
def pluginSysLog(self):
import re
folderName= "plugin"
fileName=inspect.stack()[1][1].split("/")[len(inspect.stack()[1][1].split("/"))-1]
logObject = temp.loggerSetup("logObject", "/"+folderName+"/"+re.sub(".py",".log",fileName))
return logObject
错误
File "./temp.py", line 151, in pluginSysLog
logObject = temp.loggerSetup("logObject", "/"+folderName+"/"+re.sub(".py",".log",fileName))
NameError: global name 're' is not defined
答案 0 :(得分:1)
不确定没有更多代码,但是:
1)如果您在文件顶部导入了re,则在全局级别,您不需要在该文件中的任何类或函数内重新导入
2)小心你没有用名称" re"创建任何变量,函数参数,成员变量等。