【发布时间】:2018-09-30 08:17:39
【问题描述】:
我有一个文本文件,想要递归地替换所有包含一些正则表达式模式的行,然后将结果保存到一个新的文本文件中。输入文本文件有以下内容:
姓名1 184,743 184,439 14,305 姓名2 84,343 64,437 36,335 名称3 154,543 174,439 38,385我想用上面的非空行填充所有空行(包括只有制表符和/或空格的行)。最终输出应如下所示:
姓名1 184,743 184,439 14,305 姓名1 184,743 184,439 14,305 姓名1 184,743 184,439 14,305 姓名1 184,743 184,439 14,305 姓名2 84,343 64,437 36,335 姓名2 84,343 64,437 36,335 姓名2 84,343 64,437 36,335 姓名2 84,343 64,437 36,335 姓名2 84,343 64,437 36,335 名称3 154,543 174,439 38,385 名称3 154,543 174,439 38,385 名称3 154,543 174,439 38,385 名称3 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()
【问题讨论】: