python对配置文件.ini进行增删改查操作的方法示例
前言
本文主要给大家介绍的是关于python对配置文件.ini增删改查操作的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:
一、先导入configobj库文件
可以用pip直接安装
#!/usr/bin/python #-*-coding:utf-8-*- importjson fromconfigobjimportConfigObj
二、增添section
这里是前后端分离的例子,从前端接收json数据,然后写入配置文件中
defadd(self,false=None):
self.log.debug("list")
try:
conf_ini=CONFIG_INI_PATH+"users.ini.bak"
config=ConfigObj(conf_ini,encoding='UTF8')
req=self.input["input"]
data=req["data"]
userName=data["userName"]
disc=data["disc"]
ip=data["ip"]
expMonth=int(float(data["expDate"])*12)
foruserinconfig.items():
ifuserName==user[0]:
self.out='{"status":1,"msg":"用户名已存在!"}'
returnfalse
else:
pass
config[userName]={}
config[userName]['user']=userName
config[userName]['disc']=disc
config[userName]['ip']=ip
config[userName]['validity_date']=data["expDate"]
config[userName]['cert_expired']=get_today_month(expMonth)
config[userName]['enable']=0
config[userName]['path']=USER_KEY_PATH+userName
config.write()
self.out='{"status":0,"msg":"操作成功!"}'
exceptException,e:
self.out='{"status":1,"msg":"'+str(e)+'"}'
三、修改section
defmodify(self):
self.log.debug("modify")
try:
conf_ini=CONFIG_INI_PATH+"users.ini.bak"
config=ConfigObj(conf_ini,encoding='UTF8')
req=self.input["input"]
data=req["data"]
userName=data["userName"]
disc=data["disc"]
ip=data["ip"]
config[userName]['disc']=disc
config[userName]['ip']=ip
config.write()
self.out='{"status":0,"msg":"操作成功!"}'
exceptException,e:
self.out='{"status":1,"msg":"'+str(e)+'"}'
四、删除section
通过section名找到相应section进行del操作
defdelete(self,false=None):
self.log.debug("delete")
try:
conf_ini=CONFIG_INI_PATH+"users.ini.bak"
config=ConfigObj(conf_ini,encoding='UTF8')
req=self.input["input"]
data=req["data"]
userName=data["userName"]
foruserinconfig.items():
ifuserName==user[0]:
delconfig[userName]
config.write()
self.out='{"status":0,"msg":"操作成功!"}'
returnfalse
else:
pass
self.out='{"status":1,"msg":"用户不存在!"}'
exceptException,e:
self.out='{"status":1,"msg":"configerr!"}'
五、查询section
这里借用python字典将配置文件里的内容整体输出,代码里还有查询和分页的功能
deflist(self):
self.log.debug("list")
try:
req=self.input["input"]
data=req["data"]
pageSize=req["pageSize"]
pageIndex=req["pageIndex"]
userName=data["userName"]
conf_ini=CONFIG_INI_PATH+"users.ini.bak"
config=ConfigObj(conf_ini,encoding='UTF8')
users=[]
n=0
ifuserName=='':
foruserinconfig.items():
n=n+1
ifpageSize*pageIndex+1<=n<=pageSize*(pageIndex+1):
users.append(user[1])
else:
pass
else:
foruserinconfig.items():
ifuserName==user[0]:
n=n+1
ifpageSize*pageIndex+1<=n<=pageSize*(pageIndex+1):
users.append(user[1])
else:
pass
else:
pass
utext=json.dumps(users)
self.out='{"status":0,"total":'+str(n)+',"data":'+utext+'}'
exceptException,e:
self.out='{"status":1,"msg":"'+str(e)+'"}'
self.log.debug("listin.")
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持