ini文件是Initialization File的缩写,平时用于存储软件的的配置文件。例如:MySQL数据库的配置文件。
# 文件名为my.ini
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-bin=py-mysql-bin
character-set-server=utf8
collation-server=utf8_general_ci
log-error=/var/log/mysqld.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
[client]
default-character-set=utf8
1.查看所有节点(sections函数)
import configparser
config = configparser.ConfigParser()
config.read('my.conf', encoding='utf-8')
ret = config.sections()
print(ret)
>>输出
['mysqld', 'mysqld_safe', 'client']
2.读取节点下的键值(items函数)
import configparser
config = configparser.ConfigParser()
config.read('my.conf', encoding='utf-8')
item_list = config.items("mysqld_safe")
print(item_list)
>>输出
[('log-error', '/var/log/mariadb/mariadb.log'), ('pid-file', '/var/run/mariadb/mariadb.pid')]
3.读取节点下值(根据 节点+键 )(get函数)
import configparser
config = configparser.ConfigParser()
config.read('my.ini' , encoding='utf-8')
value = config.get('mysqld', 'log-bin')
print(value)
>>输出
py-mysql-bin
4.检查、删除、添加节点
import configparser
config = configparser.ConfigParser()config.read('my.ini', encoding='utf-8')
# 检查
has_sec = config.has_section('mysqld')
print(has_sec)
# 添加节点
config.add_section("SEC_1")
# 节点中设置键值
config.set('SEC_1', 'k10', "123")
config.set('SEC_1', 'name', "哈哈哈哈哈")
config.add_section("SEC_2")
config.set('SEC_2', 'k10', "123")
# 内容写入新文件
config.write(open('xxoo.conf', 'w'))
# 删除节点
config.remove_section("SEC_2")
# 删除节点中的键值
config.remove_option('SEC_1', 'k10')
config.write(open('new.conf', 'w'))