使用Python脚本

时间:2015-11-03 08:44:47

标签: python

我正在尝试从属性文件中读取属性,如果它不存在,我需要将该属性添加到属性文件

以下是我的剧本

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'

我怎样才能避免这种异常

1 个答案:

答案 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')