我想知道为什么我的代码返回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()
答案 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))