我正在编写一个脚本,我可以在其中搜索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用户的每一个提示,可以帮助我进一步提高我的编码能力。谢谢!
我不确定你做错了什么,但这对我来说很好。它可能是你重用你的变量lines
,f1
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))
这是我的“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存有文本胡萝卜,提高本科教育。辣椒到现在为止,足球和足球,橄榄球裙子壶的作者。 ,子类型,但有时球员时的仇恨
你知道这个问题的解决方案吗?