Python的ConfigParser
废话不说,拿去用
1 #coding=utf-8 2 3 import configparser 4 ‘‘‘ 5 基於Python3.0版本寫的配置文件的創建、增加、刪除、修改等方法 6 ‘‘‘ 7 def search(ini_file,section,option=None): 8 ‘‘‘ 9 查找配置文件节点的所有属性 10 :param ini_file: 要查找的配置文件 11 :param section: 输入查找的节点名 12 :return: 返回这个节点下面的所有键值对 13 ‘‘‘ 14 config = configparser.ConfigParser() 15 config.read(ini_file) 16 if option == None: 17 dic = {} 18 for op in config.sections(): 19 if op == section: 20 for k in config.items(op): 21 dic[k[0]] = k[1] 22 return dic 23 else: 24 return config.get(section, option) 25 26 def add(ini_file, section, **kwargs): 27 ‘‘‘ 28 添加配置文件节点属性K:V 29 :param ini_file: 要添加的文件名字 30 :param section: 要添加的节点名字 31 :param kwargs: 节点下面option(键值对) 32 :return: 33 ‘‘‘ 34 config = configparser.ConfigParser() 35 config.read(ini_file) 36 config[section] = kwargs 37 with open(ini_file, ‘w‘) as configfile: 38 config.write(configfile) 39 return True 40 41 42 def modify(ini_file, section, **kwargs): 43 ‘‘‘ 44 修改配置文件的节点属性的K:V 45 :param ini_file: 要修改的文件 46 :param section: 节点名字 47 :param kwargs: 要修改的节点Key的value 48 :return: 没有返回值 49 ‘‘‘ 50 config = configparser.ConfigParser() 51 config.read(ini_file) 52 for k in kwargs.items(): 53 config.set(section, k[0], str(k[1])) 54 config.write(open(ini_file, "w")) 55 return True 56 57 def deleate(ini_file, section, option=None): 58 ‘‘‘ 59 删除指定的节点或者指定节点下面的属性 60 :param ini_file:配置文件 61 :param section:节点名字 62 :param option:节点option(鍵值對) 63 :return: 64 ‘‘‘ 65 config = configparser.ConfigParser() 66 config.read(ini_file) 67 if not option: 68 config.remove_section(section) 69 else: 70 config.remove_option(section, option) 71 config.write(open(ini_file, "w")) 72 return True 73 74 75 def creat_ini(ini_file, **kwargs): 76 ‘‘‘ 77 创建全新的配置文件 78 :param ini_file: 新配置文件的名字 79 :param kwargs: 格式参考下面的字典,option的key都是节点名字,每个key的value都是属性及属性值 80 dic = {"DEFAULT": {}, 81 "mobile1": {}, 82 "mobile2": {"number": "14420000000", "user":"False"}, 83 "mobile3": {"number": "14430000000", "user": "False"}, 84 "mobile4": {"number": "14440000000", "user": "False"}, 85 "mobile5": {"number": "14450000000", "user": "False"}} 86 :return: 87 ‘‘‘ 88 config = configparser.ConfigParser() 89 l = [i for i in kwargs] 90 for x in l: 91 config[x] = kwargs[x] 92 config.write(open(ini_file, "w")) 93 return True
1 #coding=utf-8 2 3 import ConfigParser 4 ‘‘‘ 5 基于Python2.7版本的配置文件的创建、查找、添加、修改、删除等操作 6 ‘‘‘ 7 8 def creat_ini(ini_file, **kwargs): 9 ‘‘‘ 10 创建全新的配置文件 11 :param ini_file: 新配置文件的名字 12 :param kwargs: 格式参考下面的字典,option的key都是节点名字,每个key的value都是属性及属性值 13 option = {"mobile1": {}, 14 "mobile2": {"number": "14420000000", "user":"False"}, 15 "mobile3": {"number": "14430000000", "user": "False"}, 16 "mobile4": {"number": "14440000000", "user": "False"}, 17 "mobile5": {"number": "14450000000", "user": "False"}} 18 :return: 19 ‘‘‘ 20 config = ConfigParser.ConfigParser() 21 l = [i for i in kwargs] 22 for section in l: 23 config.add_section(section) 24 if len(kwargs[section]) != 0: 25 for k in kwargs[section].items(): 26 config.set(section, k[0], str(k[1])) 27 config.write(open(ini_file, "w")) 28 return True 29 30 31 def search_ini(ini_file,section,option=None): 32 ‘‘‘ 33 查询section下面所有kv,查询制定node制定option值 34 :param ini_file: 配置文件名字 35 :param section: 要添加的节点名字 36 :param option: 节点下面键名 37 ‘‘‘ 38 config = ConfigParser.ConfigParser() 39 config.read(ini_file) 40 if option == None: 41 dic = {} 42 for k in config.items(section): 43 dic[k[0]]=k[1] 44 return dic 45 else: 46 return config.get(section,option) 47 48 49 def add_ini(ini_file,section,**kwargs): 50 ‘‘‘ 51 添加配置文件节点属性K:V 52 :param ini_file: 要添加的文件名字 53 :param section: 要添加的节点名字 54 :param kwargs: 节点下面键值对 55 :return: 56 ‘‘‘ 57 config = ConfigParser.ConfigParser() 58 config.read(ini_file) 59 if config.has_section(section): 60 for k in kwargs.items(): 61 config.set(section, k[0], k[1]) 62 else: 63 config.add_section(section) 64 for k in kwargs.items(): 65 config.set(section, k[0], k[1]) 66 with open(ini_file, ‘w‘) as configfile: 67 config.write(configfile) 68 return True 69 70 71 def modify_ini(ini_file, section, **kwargs): 72 ‘‘‘ 73 修改配置文件的节点属性的K:V 74 :param ini_file: 要修改的文件 75 :param section: 节点名字 76 :param kwargs: 要修改的节点Key的value 77 :return: 没有返回值 78 ‘‘‘ 79 config = ConfigParser.ConfigParser() 80 config.read(ini_file) 81 for k in kwargs.items(): 82 config.set(section, k[0], str(k[1])) 83 with open(ini_file, ‘w‘) as configfile: 84 config.write(configfile) 85 86 return True 87 88 89 def del_ini(ini_file,section,option = None): 90 ‘‘‘ 91 删除指定的节点或者指定节点下面的属性 92 :param ini_file:配置文件 93 :param section:节点名字 94 :param option:节点属性 95 :return: 96 ‘‘‘ 97 config = ConfigParser.ConfigParser() 98 config.read(ini_file) 99 if config.has_section(section): 100 if not option: 101 config.remove_section(section) 102 config.write(open(ini_file, "w+")) 103 return True 104 else: 105 if config.has_option(section,option): 106 config.remove_option(section, option) 107 config.write(open(ini_file, "w+")) 108 return True 109 else: 110 print("删除失败,《%s》没有《%s》option!!" % (section,option)) 111 return False 112 else: 113 print("删除失败,section《%s》不存在" % section) 114 return False
Python之路----------ConfigParser模块
原文:http://www.cnblogs.com/python1023/p/6243106.html