Python从文件中提取部分数据

Python从文件中提取部分数据,python,Python,我有这样的数据 {sdfsdfsdfsdfsdf}{sdfsdfsdfsfsdfsdf}{dfsdfsdfsdfsdfsf}{dfsdfsdfsfsdfsd} 我想要一个和平的代码,可以把它变成这样 {sdfsdfsdfsdfsdf} {sdfsdfsdfsfsdfsdf} {dfsdfsdfsdfsdfsf} {dfsdfsdfsfsdfsd} 任何帮助都将不胜感激。谢谢您您可以在}上拆分,并将其添加回从最后一个}上切下的每个拆分行,或者使用re.findall将花括号与介于两者之间的任何

我有这样的数据

{sdfsdfsdfsdfsdf}{sdfsdfsdfsfsdfsdf}{dfsdfsdfsdfsdfsf}{dfsdfsdfsfsdfsd}
我想要一个和平的代码,可以把它变成这样

{sdfsdfsdfsdfsdf}
{sdfsdfsdfsfsdfsdf}
{dfsdfsdfsdfsdfsf}
{dfsdfsdfsfsdfsd}

任何帮助都将不胜感激。谢谢您

您可以在
}
上拆分,并将其添加回从最后一个
}
上切下的每个拆分行,或者使用
re.findall
将花括号与介于两者之间的任何内容匹配:

lines = """{sdfsdfsdfsdfsdf}{sdfsdfsdfsfsdfsdf}{dfsdfsdfsdfsdfsf}{dfsdfsdfsfsdfsd}"""

print("\n".join([line+"}" for line in lines.split("}")][:-1]))

{sdfsdfsdfsdfsdf}
{sdfsdfsdfsfsdfsdf}
{dfsdfsdfsdfsdfsf}
{dfsdfsdfsfsdfsd}

import  re

print("\n".join(re.findall("(\{.*?\})",lines)))

{sdfsdfsdfsdfsdf}
{sdfsdfsdfsfsdfsdf}
{dfsdfsdfsdfsdfsf}
{dfsdfsdfsfsdfsd}
从文件中:

    with open("foo.txt") as f:
        for line in f:
             print("\n".join(re.findall("(\{.*?\})",line)))

这个问题还不清楚。你是说如何打印新行?如果是,则为“\n”是的,我希望它将它们转换为行,但我不断收到错误,但只有括号中的那些才是它的单独行。我的数据在文本文件中。您应该阅读教程名称错误:名称“行”不是defined@HellosAddme,一个打字错误,你能看到问题是什么吗?是的,回溯总是给你一个很好的线索。不客气。