题记:本来这个功能使用vi可以很方便就完成了,写vi脚本和shell都可以的,但是最近在做python时想到可以做替换内容扩充和网络文件的打开测试,这个好像vi做不来吧?嘻嘻,也许是自己孤陋寡闻不知道如何打开网络文件吧,不过这个代码现在只在windows 本地测试过,回头再不上其他系统和环境的testcase吧,对了还有test的代码也没写,小Dome吧
# -*- coding: utf-8 -*-
import re
class filere():
"""替换制定文件中的内容 """
def __init__(self,re_string,de_string,filelist):
"初始化要替换的正则表达式,文件列表"
self._re=re_string #要替换内容
self._rdef=de_string #替换成的内容
self._filelist=filelist #文件列表
def dofile(self):
for filename in self._filelist:
constr = self._getfilecon(filename)
if 1 == constr:
pass
else:
strcon=self.subdo(self.subdo(constr))
self._setnewfilecon(filename,strcon)
def subdo(self,constr):
x=re.sub(self._re,self._rdef,constr)
return x
def _getfilecon(self,filename):
try:
f=open(filename)
lconx=""
for lcon in f:
lconx = lconx+lcon
f.close()
return lconx
except IOError:
print filename,"is open err"
return 1
def _setnewfilecon(self,filename,strcon):
try:
newfile=filename+"new"
f=open(newfile,'w')
f.write(strcon)
f.close()
return 0
except IOError:
print filename,"save result is err"
return 1
if __name__ == "__main__":
x=filere(" ","",["F:\\pc\\a\\re\\a.txt","F:\\pc\\a\\re\\b.txt"])
x.dofile()
# -*- coding: utf-8 -*-
import re
class filere():
"""替换制定文件中的内容 """
def __init__(self,re_string,de_string,filelist):
"初始化要替换的正则表达式,文件列表"
self._re=re_string #要替换内容
self._rdef=de_string #替换成的内容
self._filelist=filelist #文件列表
def dofile(self):
for filename in self._filelist:
constr = self._getfilecon(filename)
if 1 == constr:
pass
else:
strcon=self.subdo(self.subdo(constr))
self._setnewfilecon(filename,strcon)
def subdo(self,constr):
x=re.sub(self._re,self._rdef,constr)
return x
def _getfilecon(self,filename):
try:
f=open(filename)
lconx=""
for lcon in f:
lconx = lconx+lcon
f.close()
return lconx
except IOError:
print filename,"is open err"
return 1
def _setnewfilecon(self,filename,strcon):
try:
newfile=filename+"new"
f=open(newfile,'w')
f.write(strcon)
f.close()
return 0
except IOError:
print filename,"save result is err"
return 1
if __name__ == "__main__":
x=filere(" ","",["F:\\pc\\a\\re\\a.txt","F:\\pc\\a\\re\\b.txt"])
x.dofile()
没有评论:
发表评论