模块讲解----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'))

 

posted @ 2017-12-25 14:33  风之岚翔  阅读(603)  评论(0编辑  收藏