2012-05-03 31 views
0

我有很多文件,我正在运行多个正则表达式匹配和删除东西。它工作正常,但每当有匹配时,我都会在底部出现重复行,并且每次都要手动删除。这是怎么回事?使用Python和正则表达式文本操作重复行

for year in range (2004,2009): 
    path="/foo/bar/"+str(year)+"/" 
    dirs = os.listdir(path) 
    for i in range(0,len(dirs)): 
     original_file = os.path.join(path, dirs[i]) 
     f=open(original_file,"r+") 
     text=f.read() 
     text=re.sub('FY91/92','',text) 
     f.seek(0) 
     f.write(text) 
     f.close() 
+0

之前,请让这是一个教训:除非你有必要的知识称之为一个不要以为“错误”! – Ashe

回答

1

如何更改为:

text=open(original_file).read() 
text=re.sub('FY91/92','',text) 
f = open(original_file, 'w') 
f.write(text) 
f.close() 

这将覆盖该文件的现有内容。

+0

是的,它做到了!谢谢。 – Rami

0

使用truncate()方法close()