查询
1、所有节点;2、指定节点下的所有key和values;3、指定节点下所有的key;4、指定节点和key下的values;
# #configparser用于处理特定格式的文件,其本质上是利用open来操作文件。
#导入configparser,并赋值变量,以便频繁调用。
import configparser
config = configparser.ConfigParser()
file = r'my.cnf'
config.read(file, encoding='utf-8') #1、获取所有节点:
all_node = config.sections()
print('所有节点>>> ',all_node) #所有节点>>> ['client', 'mysqld', 'mysqldump', 'mysql', 'myisamchk', 'mysqlhotcopy'] ==================================================================================== #2、获取指定节点下的所有(kye,values):
all_key_values = config.items('myisamchk')
print("所有的key和values>>> ",all_key_values) #所有的key和values>>> [('key_buffer_size', '256M'), ('sort_buffer_size', '256M'), ('read_buffer', '2M'), ('write_buffer', '2M'), ('test_size', '200'), ('test_float', '1.0001'), ('test_boolean', '1')] ==================================================================================== #3、获取指定节点下的所有key:
all_key_name = config.options('myisamchk')
print("所有的key名称 >>> ",all_key_name) #所有的key名称 >>> ['key_buffer_size', 'sort_buffer_size', 'read_buffer', 'write_buffer', 'test_size', 'test_float', 'test_boolean'] ==================================================================================== #4、获取指定节点下的,指定key的values:
assign_key_values_str = config.get('myisamchk','key_buffer_size')
print('指定key的values,字符串格式 >>>',assign_key_values_str,type(assign_key_values_str)) assign_key_values_int = config.getint('myisamchk','test_size')
print('指定key的values,数字格式 >>>',assign_key_values_int,type(assign_key_values_int)) assign_key_values_float = config.getfloat('myisamchk','test_float')
print("指定key的values,浮点格式>>> " ,assign_key_values_float , type(assign_key_values_float)) assign_key_values_boolean = config.getboolean('myisamchk','test_boolean')
print("指定key的values,布尔格式>>>" ,assign_key_values_boolean , type(assign_key_values_boolean)) # 指定key的values,字符串格式 >>> 256M <class 'str'>
# 指定key的values,数字格式 >>> 200 <class 'int'>
# 指定key的values,浮点格式>>> 1.0001 <class 'float'>
# 指定key的values,布尔格式>>> True <class 'bool'>
检查,添加,删除节点:(添加,删除需要保存到文件里)
1、检查节点是否存在:
has_sec = config.has_section('myisamchk')
print("检索节点是否存在",has_sec)
has_sec = config.has_section('myisamchk111')
print("检索节点是否存在",has_sec)
检索节点是否存在 True
检索节点是否存在 False
2、添加节点:
config.add_section('mysql_user')
config.write(open(file,'w')) 3、删除节点:
config.remove_section('mysql_user')
config.write(open(file,'w'))
检查、删除、设置指定组内的键值对
1、检查指定组内键值对:
has_opt = config.has_option('myisamchk','test_boolean')
print(has_opt) 2、修改指定组内key中的values
#格式:config.set('指定节点名称','指定key',要修改的values)
config.set('myisamchk','test_boolean','')
config.write(open(file,'w')) 3、删除指定组内的key和values:
config.remove_option('myisamchk','test_boolean')
config.write(open(file,'w'))