2-1-03 文件操作 - ini 格式文件
使用模块
#ini文件操作
import configparser
1. ini格式文件
ini文件是**Initialization File【初始化文件; 初始化文件格式; 初始设定档案;】的缩写,平时用于存储软件的的配置文件。
[mysqld] # []这种的是节点
datadir=/var/lib/mysql #等号两边:键 = 值
# Disabling symbol…… # 开头加上#号的是注释
例如:MySQL数据库的配置文件。
[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
这种格式是可以直接使用open来出来,考虑到自己处理比较麻烦,所以Python为我们提供了更为方便的方式。
1.1 读取所有的节点
import configparser
config = configparser.ConfigParser() # configparser.ConfigeParser() 固定搭配
config.read('file/my.ini', encoding='utf-8') # 读取这个my.conf配置文件
# 1.获取所有的节点
result = config.sections() # config.sections() 获取所有的节点
print(result) # ['mysqld', 'mysqld_safe', 'client']
1.2 读取节点下的键值
import configparser
config = configparser.ConfigParser() # configparser.ConfigeParser() 固定搭配
config.read('file/my.ini', encoding='utf-8') # 读取这个my.conf配置文件
# 2.获取节点下的键值
# 方法1
result = config.items("mysqld_safe")
print(result) # [('log-error', '/var/log/mariadb/mariadb.log'), ('pid-file', '/var/run/mariadb/mariadb.pid')]
# 方法2
for key, value in config.items("mysqld_safe"):
print(key, value)
1.3 读取节点下值(根据 节点+键 )
import configparser
config = configparser.ConfigParser() # configparser.ConfigeParser() 固定搭配
config.read('file/my.ini', encoding='utf-8') # 读取这个my.conf配置文件
# 3.获取某个节点下的键对应的值
#config.get("节点","节点下的键名")
result = config.get("mysqld", "collation-server")
print(result) # utf8_general_ci
1.4 其他
1.4.1 是否存在节点
import configparser
config = configparser.ConfigParser() # configparser.ConfigeParser() 固定搭配
config.read('file/my.ini', encoding='utf-8') # 读取这个my.conf配置文件
# 是否存在节点
v1 = config.has_section("client")
print(v1) #True
1.4.2 添加
import configparser
config = configparser.ConfigParser() # configparser.ConfigeParser() 固定搭配
config.read('file/my.ini', encoding='utf-8') # 读取这个my.conf配置文件
# 添加
config.add_section("wuqile") # 增加节点名
config.set("wuqile","name","ere") #增加节点中的键和对应的值
config.set('client','name','wupeiqi')
#添加完了还要写入文件中
config.write( open('file/my.ini',mode='w', encoding='utf-8'))
1.4.3 删除
import configparser
config = configparser.ConfigParser() # configparser.ConfigeParser() 固定搭配
config.read('file/my.ini', encoding='utf-8') # 读取这个my.conf配置文件
# 删除
config.remove_section('wuqile') #删除节点后,包括节点下面的值都被删除
config.remove_option("mysqld","datadir") #删除(某个节点,节点下面的键)
config.write( open('file/my.ini',mode='w', encoding='utf-8'))

浙公网安备 33010602011771号