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 #一、獲取全部節點: 10 all_node = config.sections() 11 print('全部節點>>> ',all_node) 12 13 #全部節點>>> ['client', 'mysqld', 'mysqldump', 'mysql', 'myisamchk', 'mysqlhotcopy'] 14 15 ==================================================================================== 16 17 #二、獲取指定節點下的全部(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 #三、獲取指定節點下的全部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 #四、獲取指定節點下的,指定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'))