模块讲解----configparser模块(my.cnf配置文件操作)
查询
1、所有节点;
2、指定节点下的所有key和values;
3、指定节点下所有的key;
4、指定节点和key下的values;
1 # #configparser用于处理特定格式的文件,其本质上是利用open来操作文件。 2 #导入configparser,并赋值变量,以便频繁调用。 3 import configparser 4 config = configparser.ConfigParser() 5 file = r'my.cnf' 6 config.read(file, encoding='utf-8') 7 8 9 #1、获取所有节点: 10 all_node = config.sections() 11 print('所有节点>>> ',all_node) 12 13 #所有节点>>> ['client', 'mysqld', 'mysqldump', 'mysql', 'myisamchk', 'mysqlhotcopy'] 14 15 ==================================================================================== 16 17 #2、获取指定节点下的所有(kye,values): 18 all_key_values = config.items('myisamchk') 19 print("所有的key和values>>> ",all_key_values) 20 21 #所有的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')] 22 23 24 ==================================================================================== 25 26 #3、获取指定节点下的所有key: 27 all_key_name = config.options('myisamchk') 28 print("所有的key名称 >>> ",all_key_name) 29 30 #所有的key名称 >>> ['key_buffer_size', 'sort_buffer_size', 'read_buffer', 'write_buffer', 'test_size', 'test_float', 'test_boolean'] 31 32 33 ==================================================================================== 34 35 #4、获取指定节点下的,指定key的values: 36 assign_key_values_str = config.get('myisamchk','key_buffer_size') 37 print('指定key的values,字符串格式 >>>',assign_key_values_str,type(assign_key_values_str)) 38 39 assign_key_values_int = config.getint('myisamchk','test_size') 40 print('指定key的values,数字格式 >>>',assign_key_values_int,type(assign_key_values_int)) 41 42 assign_key_values_float = config.getfloat('myisamchk','test_float') 43 print("指定key的values,浮点格式>>> " ,assign_key_values_float , type(assign_key_values_float)) 44 45 assign_key_values_boolean = config.getboolean('myisamchk','test_boolean') 46 print("指定key的values,布尔格式>>>" ,assign_key_values_boolean , type(assign_key_values_boolean)) 47 48 # 指定key的values,字符串格式 >>> 256M <class 'str'> 49 # 指定key的values,数字格式 >>> 200 <class 'int'> 50 # 指定key的values,浮点格式>>> 1.0001 <class 'float'> 51 # 指定key的values,布尔格式>>> True <class 'bool'>
检查,添加,删除节点:(添加,删除需要保存到文件里)
1 1、检查节点是否存在: 2 has_sec = config.has_section('myisamchk') 3 print("检索节点是否存在",has_sec) 4 5 has_sec = config.has_section('myisamchk111') 6 print("检索节点是否存在",has_sec) 7 8 检索节点是否存在 True 9 检索节点是否存在 False 10 11 12 2、添加节点: 13 config.add_section('mysql_user') 14 config.write(open(file,'w')) 15 16 17 3、删除节点: 18 config.remove_section('mysql_user') 19 config.write(open(file,'w'))
检查、删除、设置指定组内的键值对
1 1、检查指定组内键值对: 2 has_opt = config.has_option('myisamchk','test_boolean') 3 print(has_opt) 4 5 6 2、修改指定组内key中的values 7 #格式:config.set('指定节点名称','指定key',要修改的values) 8 config.set('myisamchk','test_boolean','1') 9 config.write(open(file,'w')) 10 11 12 3、删除指定组内的key和values: 13 config.remove_option('myisamchk','test_boolean') 14 config.write(open(file,'w'))