在类中返回null

时间:2016-08-08 07:05:03

标签: python

我想知道为什么我的代码返回null,但是print命令返回正确的值,有人可以解释我的吗?

class Newclass:
    def __init__(self,portal):   
        config = configparser.ConfigParser()
        config.read("config.ini")
        self.connection_source=config.get(portal,'Sources')
    def getPortalSources(self):
       # print (connection_source)   ## Sources
        return self.connection_source

emp1 = Newclass('portalname')    
emp1.getPortalSources()   

2 个答案:

答案 0 :(得分:2)

您正在调用该函数但不对其返回值执行任何操作。

尝试实际获取并打印它:

emp1 = Newclass('portalname')    
value = emp1.getPortalSources()  
print(value)

如果configparser.NoOptionError不在配置文件中,您可能还希望捕获等待发生的Sources

try:
    self.connection_source = config.get(portal,'Sources')
except configparser.NoOptionError:
    print("Couldn't find 'Sources' in conf file")

答案 1 :(得分:1)

import configparser, os


class ConfigIni(dict, configparser.ConfigParser):
    def __init__(self, file):
        configparser.ConfigParser.__init__(self)
        self.iniFile=file
        if os.path.isfile(self.iniFile):
            self.read(self.iniFile)
            for section in self.sections():
                self[section] = {}

                for var in self.options(section):
                    val = self.get(section, var)
                    self[section][var] = val


f=os.path.join(os.getcwd(), 'config.ini')
print(ConfigIni(f))