我编写了一段代码,其中的参数取自配置文件。 我在配置中的第一个参数用于设置调试级别。
config = ConfigParser.RawConfigParser()
config.read('config.cfg')
log_level = config.get('Logger','log_level' )
配置中还有其他部分,它提供了服务器 IP 和密码以扫描每个部分。
主要代码:
for section in config.sections():
components = dict() #start with empty dictionary for each section
env.user = config.get(section, 'server.user_name')
env.password = config.get(section, 'server.password')
host = config.get(section, 'server.ip')
来 self 的配置
[Logger]
#Possible values for logging are INFO, DEBUG and ERROR
log_level = DEBUG
[server1]
server.user_name = root
server.password = password
server.ip = 172.19.41.21
[server2]
server.user_name = root
server.password = password
server.ip = 172.19.41.21
现在我的代码要求检查每个部分以检索用户名和密码。由于第一部分不包含这些值,因此它失败了。我如何检查每个部分的用户名和密码,如果不存在,请转到下一部分。我尝试检查 NONE 并转到下一部分。但是那个代码很丑陋而且它失败了。像这样:
if env.user=='':
next
有人可以帮助我进行下一步吗?
请您参考如下方法:
将此代码添加到 for 循环的开头:
if not config.has_option(section, 'server.user_name'):
continue
