我有一个文本文件,希望递归地替换包含一些regex模式的所有行,然后将结果保存到一个新的文本文件中。输入文本文件包含以下内容:
NAME1 184,743 184,439 14,305
NAME2 84,343 64,437 36,335
NAME3 154,543 174,439 38,385
我想用上面的非空行填充所有空行(包括只有制表符和/或空格的行)。最终输出应如下所示:
NAME1 184,743 184,439 14,305
NAME1 184,743 184,439 14,305
NAME1 184,743 184,439 14,305
NAME1 184,743 184,439 14,305
NAME2 84,343 64,437 36,335
NAME2 84,343 64,437 36,335
NAME2 84,343 64,437 36,335
NAME2 84,343 64,437 36,335
NAME2 84,343 64,437 36,335
NAME3 154,543 174,439 38,385
NAME3 154,543 174,439 38,385
NAME3 154,543 174,439 38,385
NAME3 154,543 174,439 38,385
我试过这段代码,但我不知道如何使它工作,因为我是新的Python。正则表达式在Notepad++中工作,但在IDLE中不工作:
import re
fhand = open("/home/user1/Documents/inputtext.txt")
fout = open("/home/user1/Documents/outputtext.txt","w")
for line in fhand:
re.sub("^(\S+.*)$(\n)^([\t ]+|)$","\1\2\1",line)
fout.write(line)
fout.close()