如何在txt文件中搜索和存储文本的特定部分

问题描述 投票:0回答:2

我正在编写一个脚本,我可以在其中搜索txt文件中的特定文本,然后将其写入另一个txt文件。我使用两个文件名。文件“in.txt”包含具有开始和结束标记的文本的不同部分。起始标记是变量:例如“^ 1”,“^ 2”或“^ 3”。结束标记始终是相同的“^”)。我的目的是创建一个代码,使得可以在“in.txt”中搜索指定的变量(例如:“^ 3”),该变量用作起始标记并从该点读取所有直到我到达的行结束标记(我定义为“^”)。此后我想把这些行写到文件“out.txt”我是pyhton的新手,我必须学到很多东西。直到现在我用谷歌搜索,但没有找到我使用的解决方案。我发现只有非常复杂的解决方案,但没有一个给我一个解决我的问题的建议(用开始和结束标记搜索)。

我的代码是:

with open (f1, encoding = "utf8", errors = "ignore") as f:
    lines = f.readlines ()
    lines = [l for l in lines if "^ 3" in l]
    with open (f2, "w") as f1:
        f1.writelines (lines)

我只在文件“out.txt”中得到“^ 3”。而已。也不是以下几行。而且我还没想出如何在搜索行中对“结束标记”进行编码。请帮帮我!我很感谢来自更多exppectnced用户的每一个提示,可以帮助我进一步提高我的编码能力。谢谢!

python python-3.x
2个回答
0
投票

我不确定你做错了什么,但这对我来说很好。它可能是你重用你的变量linesf1

 with open('in.txt', 'r') as f:
     lines = f.readlines()   
     lin = [i for i in lines if '^ 3' in i]              
     with open('out.txt', 'w') as f1:
         f1.write(str(lin))

0
投票

这是我的“in.txt”文件的格式。

这是文字部分^ 0 0 Lorem存有胡萝卜,生态番茄汤。辣椒到现在为止,足球和足球,橄榄球裙子壶的作者。 ,子类型,但有时球员时恨^ ^ 1本文部分1 Lorem存有胡萝卜,生态番茄汤。辣椒到现在为止,足球和足球,橄榄球裙子壶的作者。 ,子类型,但有时球员时恨^ 2 ^第2部分这是文字Lorem存有胡萝卜,生态番茄汤。辣椒到现在为止,足球和足球,橄榄球裙子壶的作者。 ,子类型,但有时球员时恨^ 3 ^这是文本部分3. Lorem存有胡萝卜,生态番茄汤。辣椒到现在为止,足球和足球,橄榄球裙子壶的作者。 ,子类型,但有时球员时恨^ ................... ................... .. ................. 33 ^文本部分33.这是Lorem存有胡萝卜,生态番茄汤。辣椒到现在为止,足球和足球,橄榄球裙子壶的作者。 ,子类型,但有时球员时恨^当代码运行1进入“out.txt”

['* 3 \ n','* 33 \ n']

就这样。所以这不是获得我想要的结果的方法。当我想在开始变量之后的文本:“^ 3”Ik想得到文本:

这是第3部分Lorem存有文本胡萝卜,提高本科教育。辣椒到现在为止,足球和足球,橄榄球裙子壶的作者。 ,子类型,但有时球员时的仇恨

你知道这个问题的解决方案吗?

© www.soinside.com 2019 - 2024. All rights reserved.