我正在写一个字典到一个文件来保存存储在其中的数据。当我读取文件并尝试将其转换回来时,它会转换为列表。我添加了print(type())来查看它进入文件的类型以及它出现的时间。
import ast
f = open("testfile.txt", "a+")
print (type(dic1))
f.write(str(dic1.items()) + "\n")
f.close()
这是我把它写到文件
([('people', '1'), ('date', '01/01/1970'), ('t0', 'epoch'), ('time', '0'), ('p0', 'Tim Berners-Lee'), ('memory', 'This is the day time was created')])
这就是书面文件中的样子。
loadDict = ast.literal_eval(x)
print (type(loadDict))
这是尝试转换回字典时的代码
答案 0 :(得分:0)
尝试使用pickle,它是存储和加载python对象的首选方式:
存储:
import pickle
with open("testfile.txt", "w+") as f:
pickle.dump(dic1,f)
加载:
import pickle
with open("testfile.txt", "r+") as f:
dic1 = pickle.load(f)
如果要在列表中保存多个对象,可以将列表保存到文件中,然后只需从文件中加载列表,添加要添加到其中的内容,然后再次保存