将文本块写入fi

2024-09-24 22:30:43 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的任务中,我必须将两个指定单词(以这些单词开头的行)之间的文本块写入txt文件。输入文件如下所示:

SP_LINE
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
//
NON_SP_LINE
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
END_NON_LINE
SP_LINE
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
texttexttexttext
//

我必须把spu行和'//'之间的文本写入文件 我试过这个:

^{pr2}$

但它不起作用


Tags: 文件文本txtline单词spendnon
3条回答

试试这个:

import re

fr=open("various.multi").read()
gr=open("locus.txt",'w')

for m in re.finditer(r"\bSP_LINE\b",fr):
    for n in re.finditer(r"//", fr[m.end():]):
        gr.write(fr[m.start():m.end()+n.end()])
        break
gr.close()

这行吗?在

进口re

fr=open("various.multi").read()
gr=open("locus.txt",'w')

for m in re.finditer("SP_LINE",fr):
    a = int(m.start())
    b = a + int(re.search("//", fr[a:]).start())
    gr.write(fr[a:b])
gr.close()

好吧,你在这里可以很聪明。您的意思是,您需要从文件中删除字符串“spu LINE”和“//”。所以,简化代码如下:

import re

gr=open("locus.txt",'w')

for line in open('data.txt'):
    if re.match('SP_LINE|//', line):
        continue
    gr.write(line)
gr.close()

相关问题 更多 >