自定配置文件的增删改查
# @Time : 2017/4/18 15:31 # @Author : Cui X # @File : configparser_mod.py import configparser class Config(object): """置文件操作""" def __init__(self, sections, prices): self.sections = sections self.prices = prices # 生成配置文件模板 @classmethod def config_create(cls): config = configparser.ConfigParser() config["db"] = {'db_host': '192.168.1.1', 'db_port': '3306', 'db_user': 'root', 'db_pass': 'password'} # 两种写法,上面是一种,下面是一种 config['concurrent'] = {} config['concurrent']['thread'] = '200' config['concurrent']['processor'] = '400' config.write(open('test.conf', 'w')) # 把数据读出来 @classmethod def config_read(cls): conf = configparser.ConfigParser() conf.read('test.conf') return conf # 判断数据是否在存在文件中 def config_judge(self): config = self.config_read() if self.sections in config.sections(): if self.prices in config[self.sections]: return True else: return False else: return False # 增加 def config_add(self, price): if self.config_judge() is False: config = self.config_read() if self.sections in config.sections(): config[self.sections][self.prices] = price config.write(open('test.conf', 'w')) print('数据写入成功') else: print('%s 不存在' % self.sections) else: print('数据已存在') def config_delete(self): if self.config_judge() is True: config = self.config_read() del config[self.sections][self.prices] config.write(open('test.conf', 'w')) print('数据删除成功') else: print('删除的值不存在') # 修改配置 def config_change(self, price): if self.config_judge() is True: config = self.config_read() config[self.sections][self.prices] = price config.write(open('test.txt', 'w')) print('%s %s 修改成功' % (self.sections, self.prices)) # 查询配置 def config_select(self): if self.config_judge() is True: config = self.config_read() select = config[self.sections][self.prices] print(select) @classmethod def show_sections_all(cls): config = cls.config_read() for s in config.sections(): print('[%s]' % s) for pr in config.options(s): print(pr, ' = ', config[s][pr]) if __name__ == '__main__': print("""\033[32;1m (0) 初始化配置文件 (1) 增加配置 (2) 删除配置 (3) 修改配置 (4) 查询配置 (5) 查看所有配置\033[0m """) while True: choose = input('选择操作项 >> ').strip() if choose.isdigit(): choose = int(choose) if choose < 5 and choose > 0: section = input('sections >> ').strip() item = input('item >> ').strip() conf = Config(section, item) if choose == 1: price = input('add item_price >> ').strip() conf.config_add(price) elif choose == 2: conf.config_delete() elif choose == 3: price = input('change item_price >> ').strip() conf.config_change(price) else: conf.config_select() elif choose == 0: affirm = input('yes/no ? >> ').strip() if affirm == 'yes': Config.config_create() print('\033[32;1m配置文件初始化成功\033[0m') else: print('\033[31;1m已取消操作\033[0m') elif choose == 5: Config.show_sections_all() else: print('\033[31;1m没有此项目\033[0m') else: print('\033[31;1m请正确输入\033[0m')