/ Python

python动态更新用户配置

还是上一个项目,文件只有一个,如果还要单独开一个文件来存放配置的话也是很烦的。

解决方案如下:

1.在py文件中定义配置的全局变量。

2.在配置被修改时,读取自身代码,用正则将配置替换。

以下是核心代码;

import sys import re gurl = "http://127.0.0.1" guser = "leo108" gpwd = "123456" #以上都是配置 def saveconfig(url,user,pwd): self.file = open(sys.argv[0],'r') #打开自身 try : self.text = self.file.read() #读取内容 self.p = re.compile(r'^gurl="(.)"',re.M) #正则编译 self.text = self.p.sub(r'gurl="'+url+'"',self.text) #正则替换,下同 self.p = re.compile(r'^guser="(.)"',re.M) self.text = self.p.sub(r'guser="'+user+'"',self.text) self.p = re.compile(r'^gpwd="(.*)"',re.M) self.text = self.p.sub(r'gpwd="'+pwd+'"',self.text) finally : self.file.close() if self.text != '': try: self.file = open(sys.argv[0],'w') #打开自身 self.file.write(self.text) #将替换过的内容写回自身 finally: self.file.close()

使用时只要调用saveconfig函数即可。

python动态更新用户配置
Share this