【发布时间】:2015-10-20 20:58:20
【问题描述】:
所以我有一个我的服务器生成的文件,我正在尝试清理它并删除行中不必要的额外和不同字符,行的开头和结尾。我卡住的地方是我必须在每个 re.sub 之后创建一个新文件,然后删除旧文件。我现在有大约 10 个 re.sub,我觉得创建和删除文件效率低下。
def linecleanup():
file_in = open('Server.txt', 'r')
file_out = open ("Server.txt1", "w")
lines = file_in.read()
regex = re.sub("\s\s\s\s\<revision>", "Revision: ", lines)
file_out.write(regex)
file_in.close
file_out.close
os.remove('Server.txt')
linecleanup()
def linecleanup1():
file_in = open('Server.txt1', 'r')
file_out = open ("Server.txt2", "w")
lines = file_in.read()
regex = re.sub("</version>", " ", lines)
file_out.write(regex)
file_in.close
file_out.close
os.remove('Server.txt1')
linecleanup1()
def linecleanup2():
file_in = open('Server.txt2', 'r')
file_out = open ("Server.txt3", "w")
lines = file_in.read()
regex = re.sub("</revision>", " " + '\n', lines)
file_out.write(regex)
file_in.close
file_out.close
os.remove('Server.txt2')
linecleanup2()
【问题讨论】:
-
无关:您忘记在文件上调用
close。代码应该是file_in.close(),而不是file_in.close。 -
放代码的时候忘记加了。不过很好。
标签: python regex python-2.7