假设配置文件为config.ini,里面原有的配置项内容为:
[kafak.server] host = 99.99.99.99 port = 80 [zookeeper.server] host = 100.100.100.100 port = 2181 [local] client.port = 0 name = null
python读写更改config.ini里面的配置项:
- import configparser as cfp
-
- if __name__ == '__main__':
- my_cfg = "./config.ini"
- config = cfp.ConfigParser()
- config.read(my_cfg)
-
- # 读取配置
-
- secs = config.sections()
- print(secs)
-
- print(config.options('kafak.server'))
- items = config.items('kafak.server')
- print(items)
- print(config.get('kafak.server', 'host'))
- print(config.get('kafak.server', 'port'))
-
- print(config.options('zookeeper.server'))
- items = config.items('zookeeper.server')
- print(items)
- print(config.get('zookeeper.server', 'host'))
- print(config.get('zookeeper.server', 'port'))
-
- # 写配置,更新配置
- config.set('local', 'client.port', '12345')
- config.set('local', 'name', 'zhangphil')
- f = open(my_cfg, 'w')
- config.write(f)
- f.close()
输出:
- ['kafak.server', 'zookeeper.server', 'local']
- ['host', 'port']
- [('host', '99.99.99.99'), ('port', '80')]
- 99.99.99.99
- 80
- ['host', 'port']
- [('host', '100.100.100.100'), ('port', '2181')]
- 100.100.100.100
- 2181
修改后的config.ini配置内容:
[kafak.server] host = 99.99.99.99 port = 80 [zookeeper.server] host = 100.100.100.100 port = 2181 [local] client.port = 12345 name = zhangphil