在本示例中,我在文件中找到一个字符串并将匹配行写入另一个文件。这是基本的,我现在可以做的。从文件中写入行
fd_w = open('tt', 'w')
with open('r.0', 'r') as IRR:
for line in IRR:
if 'status: ASSIGNED PA' in line:
towrite = "%s" % (line)
fd_w.write(towrite)
fd_w.close()
我真正想要做的是,当有一个匹配的行,让之前的匹配线的线,直到有一个空间,同样得到了匹配行之后的行,直到有一个空格。
这是正在读取的文件中的示例。
admin-c: DUMY-RIPE
tech-c: DUMY-RIPE
status: ASSIGNED PA
mnt-by: AS6667-MNT
admin-c: DUMY-RIPE
tech-c: DUMY-RIPE
status: ASSIGNED PA
mnt-by: DATANET-NOC
我一直在尝试理清如何定义两个函数,比如在匹配行后获取上一行和下一行。所以任何想法,任何帮助都被高度占用。
请修正代码缩进。 – poke 2013-03-04 12:39:37
要清楚,如果状态为“ASSIGNED PA”,并且将其写入文件,您希望读取其中一个块中的所有内容。否则丢弃整个块? – msvalkon 2013-03-04 12:45:30
这是对的;如果有与ASSIGNED PA匹配的块保留它,否则只需放弃该块。 – 2013-03-04 12:51:44