我正在尝试从属性文件中读取属性,如果它不存在,我需要将该属性添加到属性文件
以下是我的剧本
import ConfigParser
config = ConfigParser.RawConfigParser()
config.read('test.properties')
ip = config.get('client', 'primaryIp')
print "ip is " +ip
if not ip:
Config.set('client','primaryIp','10.31.1.143')
但它会在“ip = config.get('client','primaryIp')”行中抛出以下错误“
Traceback (most recent call last):
File "test.py", line 8, in <module>
ip = config.get('client', 'primaryIp')
File "/usr/lib64/python2.7/ConfigParser.py", line 340, in get
raise NoOptionError(option, section)
ConfigParser.NoOptionError: No option 'primaryIp' in section: 'client'
我怎样才能避免这种异常
答案 0 :(得分:2)
如果有任何异常,请使用try except来捕获异常。
这是一个简单的概念,如果您有选项primaryIp
然后一切正常,但如果您有NoOptionError
,那么您需要设置该选项,因为它不在文件中:
import ConfigParser
config = ConfigParser.RawConfigParser()
config.read('test.properties')
try:
ip = config.get('client', 'primaryIp')
print "ip is " +ip
except NoOptionError:
config.set('client','primaryIp','10.31.1.143')