Python:函数中未定义全局名称re

时间:2015-09-18 18:02:03

标签: python

我是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

1 个答案:

答案 0 :(得分:1)

不确定没有更多代码,但是:

1)如果您在文件顶部导入了re,则在全局级别,您不需要在该文件中的任何类或函数内重新导入

2)小心你没有用名称" re"创建任何变量,函数参数,成员变量等。