使用Python和正则表达式文本操作重复行

时间:2012-05-03 09:13:17

标签: python regex

我有很多文件,我正在运行多个正则表达式匹配,并删除东西。它运行正常,但每当有匹配时,我会在底部找到重复的行,每次都会手动删除。发生了什么事?

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()

2 个答案:

答案 0 :(得分:1)

如何改为:

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

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

答案 1 :(得分:0)

truncate()

之前使用close()方法