做软件应用自然少不了保存一些可配置参数的初始值, ini文件无疑是最佳选择之一!
下面这些代码, 是一个调用ConfigParser写的ini操作辅助类, 拿出来和大家分享!
# coding: utf-8 ''' Name : ini文件管理 Author : 夜魂 Time : 2015-5-14 ''' import os, sys import ConfigParser class Configuration: # path ini文件绝对路径 def __init__(self, path): self.path = path self.configuration = ConfigParser.ConfigParser() self.configuration.read(self.path) # 获取ConfigParser对象 def getconfiguration(self): return self.configuration # 保存 def save(self): try: with open(self.path, 'w+') as f: self.configuration.write(f) f.close() except: pass # 获取所有域 def getsections(self): return self.configuration.sections() # 获取域所有值 # section 域名称 def getoptions(self, section): return self.configuration.options(section) # 获取域所有信息 # section 域名称 def getsectionsinfo(self, section): return self.configuration.items(section) # 添加域 # section 域名称 def addsection(self, section): try: self.configuration.add_section(section) self.save() except ConfigParser.DuplicateSectionError: pass # 删除域 # section 域名称 def delsection(self, section): self.configuration.remove_section(section) self.save() # 删除项 # section 域名称 # option 项名称 def deloption(self, section, option): self.configuration.remove_option(section, option) self.save() # 获取值 # section 域名称 # option 项名称 def get(self, section, option): result = '' try: result = self.configuration.get(section, option) except: pass return result # 设置项 # section 域名称 # option 项名称 # values 项值 def set(self, section, option, value): try: self.configuration.set(section, option, value) self.save() except ConfigParser.NoSectionError: # 如果找不到section, 就添加, 然后再调用 self.addsection(section) self.set(section, option, value) except: pass if __name__ == '__main__': path = os.getcwd() + '\config.ini' print path config = Configuration(path) config.addsection('db') config.set('db', 'host', '127.0.0.1') config.set('db', 'port', '3306') config.set('db', 'name', 'database') config.set('db', 'user', 'sa') config.set('db', 'password', '123456') #[db] #host = 127.0.0.1 #port = 3306 #name = database #user = sa #password = 123456