python 对ini配置文件的读写操作

Shell/Python   configparser  
ini 文件格式
  • ini 一般为文本文件,数据格式例
[hk]
node_ip = 2.2.2.2

[cn]
node_ip2 = 4.4.4.4  
node_ip = 1.1.1.1

[us]
node_ip = 3.3.3.3  
  • ini 文件可以分为几个 Section,每个 Section 的名称用 [] 括起来,在一个 Section 中,可以有很多的 Key,每一个 Key 可以有一个值并占用一行,格式是 Key=value。
python 使用 ConfigParser 类进行操作
  • 举个栗子
#!/usr/bin/python
# coding:utf8
import ConfigParser

config = ConfigParser.ConfigParser()

# 查询 Section = cn ,string = node_ip的值
config.readfp(open('hosts.ini'))  
print config.get("cn","node_ip")  
print config.get("hk","node_ip")

# 添加一个section
#config.add_section("en")

# 在section cn 插入一个String
config.set("en", "node_ip", "4.4.4.4")  
config.write(open('hosts.ini', "w"))  
print config.get("hk","node_ip")

# 修改 section string值
config.set("cn", "node_ip", "8.8.8.8")  
config.write(open('hosts.ini', "r+"))

print config.get("cn","node_ip")  

执行结果如下

[root@10-10-83-243 ~]# python a.py 
1.1.1.1  
2.2.2.2  
2.2.2.2  
8.8.8.8  
[root@10-10-83-243 ~]# cat hosts.ini 
[hk]
node_ip = 2.2.2.2

[en]
node_ip = 4.4.4.4

[cn]
node_ip2 = 4.4.4.4  
node_ip = 8.8.8.8

[us]
node_ip = 3.3.3.3