一,首先说说 所谓 ini 文件以及 ini的文件格式:
ini 文件其实就是所谓的初始化配置文件,一般的格式为:
[SECTION0]
key0 = value0
key1 = value1
。
。
。
[SECTION1]
key0 = value0
key1 = value1
二,configparser包
ConfigParser 包 是创建一个管理对象,再把文件 read进去,做了其他操作后,再 以打开方式打开文件,写回文件里。(注意!是以打开方式!打开方式!不是追加方式!)
因为 它本身的机制就是会先把文件复制一份,进行操作后,再整个文件内容写回文件里的。
三,相关操作:(一个 item 由 KEY和VALUE组成)
cfg = configparser.ConfigParser() #创建一个管理对象 cfg
cfg.read(file_path) #把一个 ini 文件读到 cfg 中
se_list = cfg.sections() #用一个list 存放 ini 文件中的所有 SECTIONS
item = cfg.items(SECTION) #用一个 列表item 存放 一个SECTION 中的所有 items(KEY--VALUE)
cfg.remove_option(se,key) #删除一个 SECTION 中的一个 item(以键值KEY为标识)
cfg.remove_section(se) #删除一个 SECTION
cfg.add_section(se) #增加一个 SECTION
cfg.set(se,key,value) #往一个 SECTION 中增加 一个 item(KEY--VALUE)
cfg.wrtie(fp) #往文件描述符指向的文件中 写入修改后的内容
最后献上带代码,附加注释:
# -*- codeding: utf-8 -*-
import sys
import os
import configparser #导入 configparser包
class client_info(object):
def __init__(self,file):
self.file = file
self.cfg = configparser.ConfigParser() #创建一个 管理对象。
def cfg_load(self):
self.cfg.read(self.file) #把 文件导入管理对象中,把文件内容load到内存中
def cfg_dump(self):
se_list = self.cfg.sections() #cfg.sections()显示文件中的所有 section
print('==================>')
for se in se_list:
print(se)
print(self.cfg.items(se))
print('==================>')
def delete_item(self,se,key):
self.cfg.remove_option(se,key) #在 section 中删除一个 item
def delete_section(self,se):
self.cfg.remove_section(se) #删除一个 section
def add_section(self,se):
self.cfg.add_section(se) #添加一个 section
def set_item(self,se,key,value):
self.cfg.set(se,key,value) #往 section 中 添加一个 item(一个item由key和value构成)
def save(self):
fd = open(self.file,'w')
self.cfg.write(fd) #在内存中修改的内容写回文件中,相当于保存
fd.close()
if __name__== '__main__':
info = client_info('client.ini')
info.cfg_load()
info.add_section('ZJE')
info.set_item('ZJE','name','zhujunwen')
info.cfg_dump()
info.save()