Python 3.x 将字符串从文件转换为dict

Python 3.x 将字符串从文件转换为dict,python-3.x,dictionary,Python 3.x,Dictionary,我有一个带有字典表示的文本文件。它们作为字符串打开到python中,我想使用ast.literal\u eval将它们转换为dict 我发现下面的线索帮助我走到了现在 我想知道这个线程中提到的源字符串是否无效,但我不知道如何检查 输出文件中的数据 {'name': 'John', 'age': '21'} {'name': 'Mary', 'age': '23'} 代码 我期望的结果是将字符串作为类“dict”使用,该类实际上可以工作,但后面跟着以下堆栈跟踪 <class 'dict'&

我有一个带有字典表示的文本文件。它们作为字符串打开到python中,我想使用ast.literal\u eval将它们转换为dict

我发现下面的线索帮助我走到了现在

我想知道这个线程中提到的源字符串是否无效,但我不知道如何检查

输出文件中的数据

{'name': 'John', 'age': '21'}
{'name': 'Mary', 'age': '23'}
代码

我期望的结果是将字符串作为类“dict”使用,该类实际上可以工作,但后面跟着以下堆栈跟踪

<class 'dict'>
<class 'dict'>
Traceback (most recent call last):
  File "write_site_to_netbox.py", line 25, in <module>
    site_dict = literal_eval(site_entry)
  File "/usr/lib/python3.6/ast.py", line 48, in literal_eval
    node_or_string = parse(node_or_string, mode='eval')
  File "/usr/lib/python3.6/ast.py", line 35, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 1

    ^
SyntaxError: unexpected EOF while parsing

回溯(最近一次呼叫最后一次):
文件“write_site_to_netbox.py”,第25行,在
site\u dict=文字评估(site\u条目)
文件“/usr/lib/python3.6/ast.py”,第48行,文本形式
node_或_string=parse(node_或_string,mode='eval')
文件“/usr/lib/python3.6/ast.py”,第35行,在parse中
返回编译(源、文件名、模式、仅PyCF\u AST)
文件“”,第1行
^
SyntaxError:分析时出现意外的EOF

文件末尾是否有空行?@johnnymapp Yes!!就这样。谢谢:D
<class 'dict'>
<class 'dict'>
Traceback (most recent call last):
  File "write_site_to_netbox.py", line 25, in <module>
    site_dict = literal_eval(site_entry)
  File "/usr/lib/python3.6/ast.py", line 48, in literal_eval
    node_or_string = parse(node_or_string, mode='eval')
  File "/usr/lib/python3.6/ast.py", line 35, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 1

    ^
SyntaxError: unexpected EOF while parsing