Python 3.x 在Python中将转义文本处理为字典

Python 3.x 在Python中将转义文本处理为字典,python-3.x,escaping,Python 3.x,Escaping,我有带字符串的文本日志,想把它们转换成字典 log = """ {'details': "object={'id': 1}"} {'details': 'object={\'id\': 2}'} """ lines = log.strip().split("\n") for line in lines: dct = eval(line) print(f"{dct=}&

我有带字符串的文本日志,想把它们转换成字典

log = """
{'details': "object={'id': 1}"}
{'details': 'object={\'id\': 2}'}
"""

lines = log.strip().split("\n")

for line in lines:
    dct = eval(line)
    print(f"{dct=}")
第一行处理得很好,直到
dct={'details':“object={'id':1}

我想处理
{'details':“object={'id':2}}
的第二行,但得到的是
SyntaxError:invalid syntax
错误

如何将带有
\'
的字符串转换为字典?

以下是解决方案:

log = r"""
{'details': "object={'id': 1}"}
{'details': 'object={\'id\': 2}'}
"""
lines = log.strip().split("\n")
for line in lines:
    line = line.replace(r"\'", '"')
    dct = eval(line)
    print(f"{dct=}")

问题是:这个字符串不包含反斜杠<代码>打印(日志)查看。如果它确实包含反斜杠,那就好了。