gpt4 book ai didi

python - 从文件读取 dict 时出现 EOF 错误

转载 作者:行者123 更新时间:2023-11-30 22:36:28 25 4
gpt4 key购买 nike

我有一个 .txt 文件,其中包含以下格式的字典:

{
"key1": "value1",
"key2": "value2",
}

我正在尝试将其读入变量,以便我可以使用它。我可以这样做:

    f = open('my_dict.txt', 'r')
my_dict = eval(f.read())

但是如果我尝试使用下面的内容,Python 会提示第一个“{”之后出现意外的 EOF。

dict_from_file = []
with open('my_dict.txt', 'r') as inf:
for line in inf:
dict_from_file.append(eval(line))
print(dict_from_file)


{
^
SyntaxError: unexpected EOF while parsing

我确信它只与文件中逐行格式化的所有内容有关。我想我可以重新格式化文件,以便用“,”替换换行符,但我喜欢一行上每个键:值对的可读性。我希望能够使用 with。我怎样才能做到这一点?

最佳答案

问题是你不能直接eval('{'),它会引发错误:

SyntaxError: unexpected EOF while parsing

将它们附加到字符串'{"key1": "value1","key2": "value2",}',然后eval它,这与你的代码 my_dict = eval(f.read())

试试这个:

dict_from_file = ''
with open('my_dict.txt', 'r') as inf:
for line in inf:
dict_from_file= dict_from_file+(line.strip())
print eval(dict_from_file)

输出:

{'key2': 'value2', 'key1': 'value1'}

关于python - 从文件读取 dict 时出现 EOF 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44159148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com