我在Python中有以下类。
import os,ConfigParser
class WebPageTestConfigUtils:
def __init__(self, configParser=None, configFilePath=None):
self.configParser = ConfigParser.RawConfigParser()
self.configFilePath = (os.path.join(os.getcwd(),'webPageTestConfig.cfg'))
def initializeConfig(self):
configParser.read(configFilePath)
return configParser
def getConfigValue(self,key):
return configParser.get('WPTConfig', key)
def main():
webPageTestConfigUtils = WebPageTestConfigUtils()
webPageTestConfigUtils.initializeConfig()
webPageTestConfigUtils.getConfigValue('testStatus')
if __name__ =='__main__':
main()
执行时。这给了我错误。
NameError: global name 'configParser' is not defined
。
为什么python在这里无法识别实例变量。
〜
〜
答案 0 :(得分:3)
您正在定义
...
self.configParser = ConfigParser.RawConfigParser()
...
使用
进行访问...
configParser.read(configFilePath)
...
您必须以self.configParser
进行访问。
答案 1 :(得分:1)
这是预期的。在您的代码中,python将无法在没有self的情况下访问类成员。这是正确的代码:
def initializeConfig(self):
self.configParser.read(self.configFilePath)
return self.configParser
def getConfigValue(self,key):
return self.configParser.get('WPTConfig', key)